[ https://issues.apache.org/jira/browse/CALCITE-3964?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17096987#comment-17096987 ]
Julian Hyde commented on CALCITE-3964: -------------------------------------- The above description is a bit abstract; the SQL standard folks hate including examples (because they are "non-normative") but a SQL example would help me understand. > Support <data type> in DESCRIPTOR operator > ------------------------------------------- > > Key: CALCITE-3964 > URL: https://issues.apache.org/jira/browse/CALCITE-3964 > Project: Calcite > Issue Type: Sub-task > Reporter: Rui Wang > Assignee: Rui Wang > Priority: Major > > DESCRIPTOR can include an optional data type, which will enable type checking > in SQL validator. It is useful for streaming windowing: the windowing is > required to be applied on TIMESTAMP type, and we can rely on descriptor to do > type validation. > *The following is copied from SQL standard 2016*: > 8.15 <descriptor argument> > {code:java} > <descriptor argument> ::= > <descriptor value constructor> > <descriptor value constructor> ::= > DESCRIPTOR <left paren> <descriptor column list> <right paren> > <descriptor column list> ::= > <descriptor column specification> > [ { <comma> <descriptor column specification> }... ] > <descriptor column specification> ::= > <column name> [ <data type> ] > {code} > A <descriptor argument> is the keyword DESCRIPTOR followed by a parenthesized > list of column names; each column name may optionally have a data type. If > every column name has a data type, then the descriptor describes a row type. > In the examples, CSVreader and Pivot use descriptor arguments that are just > lists of column names; ExecR is an example that uses a descriptor to pass a > complete row type. -- This message was sent by Atlassian Jira (v8.3.4#803005)