Liao Xintao created CALCITE-2078:
------------------------------------

             Summary: NPE when window functions on top of aggregations in 
partitioning or order clause
                 Key: CALCITE-2078
                 URL: https://issues.apache.org/jira/browse/CALCITE-2078
             Project: Calcite
          Issue Type: Bug
            Reporter: Liao Xintao
            Assignee: Julian Hyde


Currently the scene of window functions on top of nested aggregations is 
already in consideration, however, that one as follow is not:
{code:sql}
select
  sum(sal),
  rank() over (order by sum(sal))
from emp
group by deptno
{code}

An NPE from SqlToRelConverter:
{code}
java.lang.NullPointerException
        at 
com.google.common.base.Preconditions.checkNotNull(Preconditions.java:212)
        at 
org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.convertExpression(SqlToRelConverter.java:4470)
        at 
org.apache.calcite.sql2rel.SqlToRelConverter.convertOver(SqlToRelConverter.java:1839)
        at 
org.apache.calcite.sql2rel.SqlToRelConverter.access$1500(SqlToRelConverter.java:213)
        at 
org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.convertExpression(SqlToRelConverter.java:4462)
        at 
org.apache.calcite.sql2rel.SqlToRelConverter.createAggImpl(SqlToRelConverter.java:2857)
        at 
org.apache.calcite.sql2rel.SqlToRelConverter.convertAgg(SqlToRelConverter.java:2675)
        at 
org.apache.calcite.sql2rel.SqlToRelConverter.convertSelectImpl(SqlToRelConverter.java:660)
        at 
org.apache.calcite.sql2rel.SqlToRelConverter.convertSelect(SqlToRelConverter.java:622)
        at 
org.apache.calcite.sql2rel.SqlToRelConverter.convertQueryRecursive(SqlToRelConverter.java:3085)
        at 
org.apache.calcite.sql2rel.SqlToRelConverter.convertQuery(SqlToRelConverter.java:558)
        at 
org.apache.calcite.test.SqlToRelTestBase$TesterImpl.convertSqlToRel(SqlToRelTestBase.java:574)
        at 
org.apache.calcite.test.RelOptTestBase.checkPlanning(RelOptTestBase.java:137)
        at 
org.apache.calcite.test.RelOptTestBase.checkPlanning(RelOptTestBase.java:120)
        at 
org.apache.calcite.test.RelOptTestBase.checkPlanning(RelOptTestBase.java:95)
        at 
org.apache.calcite.test.RelOptTestBase.checkPlanning(RelOptTestBase.java:84)
        at 
org.apache.calcite.test.RelOptRulesTest.testWindowAggregatesWithOrderByAgg(RelOptRulesTest.java:2722)
{code}




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

Reply via email to