[
https://issues.apache.org/jira/browse/CALCITE-694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14529076#comment-14529076
]
Sean Hsuan-Yi Chu commented on CALCITE-694:
-------------------------------------------
I have some idea of this issue. I would like to work on this.
> HAVING clause with CASE and IN predicate fails
> ----------------------------------------------
>
> Key: CALCITE-694
> URL: https://issues.apache.org/jira/browse/CALCITE-694
> Project: Calcite
> Issue Type: Bug
> Affects Versions: 1.3.0-incubating
> Reporter: Aman Sinha
> Assignee: Julian Hyde
>
> This is another variant of CALCITE-516 and CALCITE-614.
> {code}
> select count(*) from emp
> group by emp.deptno
> having sum(case when emp.empno in (1, 2, 3) then emp.sal else 0 end)
> between 10000.0 and 20000.0
> {code}
> {code}
> java.lang.AssertionError: Internal error: while converting CASE WHEN
> `EMP`.`EMPNO` IN (1, 2, 3) THEN `EMP`.`SAL` ELSE 0 END
> at
> org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.convertExpression(SqlToRelConverter.java:4058)
> at
> org.apache.calcite.sql2rel.StandardConvertletTable.convertCase(StandardConvertletTable.java:301)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at
> org.apache.calcite.sql2rel.ReflectiveConvertletTable$1.convertCall(ReflectiveConvertletTable.java:87)
> at
> org.apache.calcite.sql2rel.SqlNodeToRexConverterImpl.convertCall(SqlNodeToRexConverterImpl.java:60)
> at
> org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.visit(SqlToRelConverter.java:4212)
> at
> org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.visit(SqlToRelConverter.java:3668)
> at org.apache.calcite.sql.SqlCall.accept(SqlCall.java:130)
> at
> org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.convertExpression(SqlToRelConverter.java:4105)
> at
> org.apache.calcite.sql2rel.SqlToRelConverter$AggConverter.visit(SqlToRelConverter.java:4483)
> at
> org.apache.calcite.sql2rel.SqlToRelConverter$AggConverter.visit(SqlToRelConverter.java:4329)
> at org.apache.calcite.sql.SqlCall.accept(SqlCall.java:130)
> at
> org.apache.calcite.sql2rel.SqlToRelConverter$AggConverter.visit(SqlToRelConverter.java:4528)
> at
> org.apache.calcite.sql2rel.SqlToRelConverter$AggConverter.visit(SqlToRelConverter.java:4329)
> at org.apache.calcite.sql.SqlCall.accept(SqlCall.java:130)
> at
> org.apache.calcite.sql2rel.SqlToRelConverter.createAggImpl(SqlToRelConverter.java:2573)
> at
> org.apache.calcite.sql2rel.SqlToRelConverter.convertAgg(SqlToRelConverter.java:2510)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)