Details
-
Bug
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
1.19.0
-
None
-
None
-
None
Description
In Calcite, this simple query will throw exception during validation, even it is ok in many databases.
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'
The right way to use 'NULL' in Calcite is:
final String query = "select cast(NULL as integer) as col " + "from \"foodmart\".\"product\"";
However, the converted query by RelToSqlConverter is illegal in Calcite.
SELECT NULL AS \"COL\" FROM \"foodmart\".\"product\"
The issue is trivial, but it is against to general sense. Maybe we can generate NULL literal in SqlDialect?
Attachments
Issue Links
- is related to
-
CALCITE-3210 JDBC adapter should generate "CAST(NULL AS type)" rather than "NULL"
- Closed
- relates to
-
CALCITE-3217 Support "SELECT NULL"
- Closed