Rui Wang created CALCITE-3964:
---------------------------------

             Summary: 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


>From SQL standard 2016

{code:sql}
8.15 <descriptor argument>
<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> ]
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.
{code}


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.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to