You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Julian Hyde (JIRA)" <ji...@apache.org> on 2017/03/10 19:23:04 UTC

[jira] [Reopened] (CALCITE-1691) java.lang.ClassCastException: org.apache.flink.table.codegen.ExpressionReducer cannot be cast to org.apache.calcite.rex.RexExecutorImpl

     [ https://issues.apache.org/jira/browse/CALCITE-1691?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Julian Hyde reopened CALCITE-1691:
----------------------------------

Re-opening. I believe this is valid. You are not obliged to provide an executor, and if you do, it does not need to extend RexExecutorImpl. The method should fail safe (return true) in that case.

> java.lang.ClassCastException: org.apache.flink.table.codegen.ExpressionReducer cannot be cast to org.apache.calcite.rex.RexExecutorImpl
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CALCITE-1691
>                 URL: https://issues.apache.org/jira/browse/CALCITE-1691
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.11.0
>         Environment: Centos7
>            Reporter: Dmytro Shkvyra
>            Assignee: Julian Hyde
>             Fix For: 1.12.0
>
>
> Since 1.11.0. In 1.9.0 everything works fine
> {code:title=Stacktrace|borderStyle=solid}
> java.lang.ClassCastException: org.apache.flink.table.codegen.ExpressionReducer cannot be cast to org.apache.calcite.rex.RexExecutorImpl
> 	at org.apache.calcite.plan.RelOptUtil.containsNullableFields(RelOptUtil.java:3327)
> 	at org.apache.calcite.plan.RelOptUtil.createExistsPlan(RelOptUtil.java:499)
> 	at org.apache.calcite.sql2rel.SqlToRelConverter.convertExists(SqlToRelConverter.java:1493)
> 	at org.apache.calcite.sql2rel.SqlToRelConverter.substituteSubQuery(SqlToRelConverter.java:1082)
> 	at org.apache.calcite.sql2rel.SqlToRelConverter.replaceSubQueries(SqlToRelConverter.java:990)
> 	at org.apache.calcite.sql2rel.SqlToRelConverter.convertWhere(SqlToRelConverter.java:959)
> 	at org.apache.calcite.sql2rel.SqlToRelConverter.convertSelectImpl(SqlToRelConverter.java:645)
> 	at org.apache.calcite.sql2rel.SqlToRelConverter.convertSelect(SqlToRelConverter.java:623)
> 	at org.apache.calcite.sql2rel.SqlToRelConverter.convertQueryRecursive(SqlToRelConverter.java:2860)
> 	at org.apache.calcite.sql2rel.SqlToRelConverter.convertQuery(SqlToRelConverter.java:559)
> {code}
> {code:title=Works fine|borderStyle=solid}
> SELECT a, c FROM T WHERE b IN (SELECT b FROM T WHERE b = 6 OR b = 1)
> {code:}
> {code:title=java.lang.ClassCastException|borderStyle=solid}
> SELECT a, c FROM T WHERE b NOT IN (SELECT b FROM T WHERE b = 6 OR b = 1)"
> {code:}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)