Gian Merlino created CALCITE-5865:
-------------------------------------

             Summary: ClassCastException with FLOOR and CEIL on conformances 
that are not builtin
                 Key: CALCITE-5865
                 URL: https://issues.apache.org/jira/browse/CALCITE-5865
             Project: Calcite
          Issue Type: Bug
            Reporter: Gian Merlino


CALCITE-5747 introduced some BigQuery-specific logic for FLOOR and CEIL that is 
keyed off the conformance being {{SqlConformanceEnum.BIG_QUERY}}. However, it 
was implemented in such a way that implementations of {{SqlConformance}} that 
are not {{SqlConformanceEnum}} would throw {{ClassCastException}}, due to this 
line in {{Parser.jj}}:

{code}
SqlOperator op = SqlStdOperatorTable.floorCeil(floorFlag, (SqlConformanceEnum) 
this.conformance);
{code}

Better would be to pass {{this.conformance}} without casting, and adjust 
{{SqlStdOperatorTable.floorCeil}} to handle any kind of conformance.

This affects us in Apache Druid land, because we have a conformance that 
extends {{SqlAbstractConformance}}.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to