Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
None
Description
Current conformance settings do not allow SELECT statements without a FROM clause. Either need to change conformance or stop supporting SELECT without FROM as Phoenix currently does.
According to the Calcite parser,
FROM is mandatory in standard SQL, optional in dialects such as MySQL, PostgreSQL. The parser allows SELECT without FROM, but the validator fails if conformance is, say, STRICT_2003.
Based on PhoenixCalciteEmbeddedDriver.java, we are using ORACLE_10 conformance which does not support this
setPropertyIfNotSpecified( info2, CalciteConnectionProperty.CONFORMANCE.camelName(), SqlConformance.ORACLE_10.toString())
Confirming this is the fact that it is specifically the SqlValidator throwing the exception in relevant test cases
Caused by: org.apache.calcite.sql.validate.SqlValidatorException: SELECT must have a FROM clause