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

Gian Merlino commented on CALCITE-1910:
---------------------------------------

Thanks for the review [~michaelmior]!

Fixed in 
https://git1-us-west.apache.org/repos/asf?p=calcite.git;a=commit;h=188c8020d4e68c0a3180265b07949aeb8830ff1b.

> NPE on filtered aggregators using "IN"
> --------------------------------------
>
>                 Key: CALCITE-1910
>                 URL: https://issues.apache.org/jira/browse/CALCITE-1910
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>            Reporter: Gian Merlino
>            Assignee: Julian Hyde
>
> This test causes an NPE in SqlToRelConverter. I haven't figured out why, but 
> I guess it has something to do with not calling "replaceSubQueries" on the 
> second arg of the FILTER SqlNode.
> {code}
>   @Test public void testAggFilterWithIn() {
>     final String sql = "select\n"
>         + "  deptno, sum(sal * 2) filter (where empno not in (1, 2)), 
> count(*)\n"
>         + "from emp\n"
>         + "group by deptno";
>     sql(sql).ok();
>   }
> {code}
> The stack trace is:
> {code}
> java.lang.NullPointerException
>       at 
> com.google.common.base.Preconditions.checkNotNull(Preconditions.java:212)
>       at 
> org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.convertExpression(SqlToRelConverter.java:4426)
>       at 
> org.apache.calcite.sql2rel.SqlToRelConverter$AggConverter.translateAgg(SqlToRelConverter.java:4888)
>       at 
> org.apache.calcite.sql2rel.SqlToRelConverter$AggConverter.visit(SqlToRelConverter.java:4819)
>       at 
> org.apache.calcite.sql2rel.SqlToRelConverter$AggConverter.visit(SqlToRelConverter.java:4663)
>       at org.apache.calcite.sql.SqlCall.accept(SqlCall.java:137)
>       at 
> org.apache.calcite.sql2rel.SqlToRelConverter$AggConverter.visit(SqlToRelConverter.java:4795)
>       at 
> org.apache.calcite.sql2rel.SqlToRelConverter$AggConverter.visit(SqlToRelConverter.java:4663)
>       at org.apache.calcite.sql.SqlNodeList.accept(SqlNodeList.java:153)
>       at 
> org.apache.calcite.sql2rel.SqlToRelConverter.createAggImpl(SqlToRelConverter.java:2715)
>       at 
> org.apache.calcite.sql2rel.SqlToRelConverter.convertAgg(SqlToRelConverter.java:2656)
>       at 
> org.apache.calcite.sql2rel.SqlToRelConverter.convertSelectImpl(SqlToRelConverter.java:658)
>       at 
> org.apache.calcite.sql2rel.SqlToRelConverter.convertSelect(SqlToRelConverter.java:620)
>       at 
> org.apache.calcite.sql2rel.SqlToRelConverter.convertQueryRecursive(SqlToRelConverter.java:3066)
>       at 
> org.apache.calcite.sql2rel.SqlToRelConverter.convertQuery(SqlToRelConverter.java:556)
>       at 
> org.apache.calcite.test.SqlToRelTestBase$TesterImpl.convertSqlToRel(SqlToRelTestBase.java:574)
>       at 
> org.apache.calcite.test.SqlToRelTestBase$TesterImpl.assertConvertsTo(SqlToRelTestBase.java:682)
>       at 
> org.apache.calcite.test.SqlToRelConverterTest$Sql.convertsTo(SqlToRelConverterTest.java:2676)
>       at 
> org.apache.calcite.test.SqlToRelConverterTest$Sql.ok(SqlToRelConverterTest.java:2668)
>       at 
> org.apache.calcite.test.SqlToRelConverterTest.testAggFilterWithIn(SqlToRelConverterTest.java:477)
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to