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

pengzhiwei updated CALCITE-2551:
--------------------------------
    Description: 
In the sql as follow:
{code:java}
select empno from emp 
where not case when true then deptno in (10,20) else true end
{code}
A ClassCastException was thrown out as follow:
{code:java}
java.lang.ClassCastException: org.apache.calcite.sql.fun.SqlCase cannot be cast 
to org.apache.calcite.sql.SqlBasicCall

at 
org.apache.calcite.sql2rel.SqlToRelConverter.pushDownNotForIn(SqlToRelConverter.java:987)
at 
org.apache.calcite.sql2rel.SqlToRelConverter.convertWhere(SqlToRelConverter.java:1070)
at 
{code}
The reason for this issue is that   the SqlToRelConverter#pushDownNotForIn 
method missing consideration

 for SqlCase as the code shown below:

!屏幕快照 2018-09-12 上午11.12.11.png!

I have made a PR for this issue which push not down through SqlCase.Anybody can 
have a check for me? Thanks!

 

  was:
In the sql as follow:
{code:java}
select empno from emp 
where not case when true then deptno in (10,20) else true end
{code}
A ClassCastException was thrown out as follow:
{code:java}
java.lang.ClassCastException: org.apache.calcite.sql.fun.SqlCase cannot be cast 
to org.apache.calcite.sql.SqlBasicCall

at 
org.apache.calcite.sql2rel.SqlToRelConverter.pushDownNotForIn(SqlToRelConverter.java:987)
at 
org.apache.calcite.sql2rel.SqlToRelConverter.convertWhere(SqlToRelConverter.java:1070)
at 
{code}
The reason for this issue is that   the SqlToRelConverter#pushDownNotForIn 
method missing consideration

 for SqlCase.

I have made a PR for this issue which push not down through SqlCase.Anybody can 
have a check for me? Thanks!

 


> ClassCastException in SqlToRelConverter#pushDownNotForIn
> --------------------------------------------------------
>
>                 Key: CALCITE-2551
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2551
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.17.0
>            Reporter: pengzhiwei
>            Assignee: Julian Hyde
>            Priority: Critical
>         Attachments: 屏幕快照 2018-09-12 上午11.12.11.png
>
>
> In the sql as follow:
> {code:java}
> select empno from emp 
> where not case when true then deptno in (10,20) else true end
> {code}
> A ClassCastException was thrown out as follow:
> {code:java}
> java.lang.ClassCastException: org.apache.calcite.sql.fun.SqlCase cannot be 
> cast to org.apache.calcite.sql.SqlBasicCall
> at 
> org.apache.calcite.sql2rel.SqlToRelConverter.pushDownNotForIn(SqlToRelConverter.java:987)
> at 
> org.apache.calcite.sql2rel.SqlToRelConverter.convertWhere(SqlToRelConverter.java:1070)
> at 
> {code}
> The reason for this issue is that   the SqlToRelConverter#pushDownNotForIn 
> method missing consideration
>  for SqlCase as the code shown below:
> !屏幕快照 2018-09-12 上午11.12.11.png!
> I have made a PR for this issue which push not down through SqlCase.Anybody 
> can have a check for me? Thanks!
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to