[ https://issues.apache.org/jira/browse/CALCITE-3081?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16950887#comment-16950887 ]
Feng Zhu commented on CALCITE-3081: ----------------------------------- Hey, [~danny0405]. Thanks for your reminder! I will take a look in this week. > 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 (v8.3.4#803005)