[
https://issues.apache.org/jira/browse/CALCITE-3081?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16895519#comment-16895519
]
Julian Hyde commented on CALCITE-3081:
--------------------------------------
[~donnyzone], You've pointed out that what Calcite's SQL parser accepts is
inconsistent with the SQL generated by Calcite's JDBC adapter. But you have not
said what you propose to change to make them consistent.
> Literal NULL should be generated in SqlDialect
> ----------------------------------------------
>
> Key: CALCITE-3081
> URL: https://issues.apache.org/jira/browse/CALCITE-3081
> Project: Calcite
> Issue Type: Bug
> Affects Versions: 1.19.0
> Reporter: Feng Zhu
> Priority: Minor
>
> In Calcite, this simple query will throw exception during validation, even it
> is ok in many databases.
> {code:java}
> Query:
> final String query = "select NULL as col "
> + "from \"foodmart\".\"product\"";
> Exception
> org.apache.calcite.tools.ValidationException:
> org.apache.calcite.runtime.CalciteContextException: From line 1, column 8 to
> line 1, column 11: Illegal use of 'NULL'
> {code}
> The right way to use 'NULL' in Calcite is:
> {code:java}
> final String query = "select cast(NULL as integer) as col "
> + "from \"foodmart\".\"product\"";
> {code}
> However, the converted query by *RelToSqlConverter* is illegal in Calcite.
> {code:java}
> SELECT NULL AS \"COL\"
> FROM \"foodmart\".\"product\"
> {code}
> The issue is trivial, but it is against to general sense. Maybe we can
> generate NULL literal in SqlDialect?
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)