[ 
https://issues.apache.org/jira/browse/CALCITE-5865?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17745140#comment-17745140
 ] 

Julian Hyde commented on CALCITE-5865:
--------------------------------------

I agree that RelDataTyoeSystem is better than conformance; but SqlLibrary is 
also worth considering (rather than being the same operator with a different 
policy to determine return type, they’re different operators with the same 
name). 

> 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
>            Priority: Blocker
>              Labels: pull-request-available
>
> 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