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

Julian Hyde commented on CALCITE-4040:
--------------------------------------

The current title/message, "An aggregate function that does not support roll up 
throws an exception when it is rolled up" doesn't work for me. Throwing an 
exception sounds like the correct behavior. If it isn't the correct behavior, 
what is? The description should specify.

This seems to have been committed to master. Can someone update this bug? (And 
fix the message.)

> An aggregate function that does not support roll up throws an exception when 
> it is rolled up
> --------------------------------------------------------------------------------------------
>
>                 Key: CALCITE-4040
>                 URL: https://issues.apache.org/jira/browse/CALCITE-4040
>             Project: Calcite
>          Issue Type: Wish
>            Reporter: xzh_dz
>            Priority: Major
>          Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> When i try to rollup some SqlAggFunctions in my project,I find something 
> wrong.
> A case can be reproduced as below:
> MaterializationTest:
> {code:java}
> @Test public void testSqlAggFunctionRollup() {
>     checkNoMaterialize(
>         "select \"empid\", stddev_pop(\"deptno\") from \"emps\" group by 
> \"empid\", \"deptno\"",
>         "select \"empid\", stddev_pop(\"deptno\") from \"emps\" group by 
> \"empid\"",
>         HR_FKUK_MODEL);
>   }
> {code}
>  If sql is not materialized, it should not throw an exception.
> Exception:
> {code:java}
> java.sql.SQLException: Error while executing SQL "explain plan for select 
> "empid", stddev_pop("deptno") from "emps" group by "empid"": null
>       at org.apache.calcite.avatica.Helper.createException(Helper.java:56)
>       at org.apache.calcite.avatica.Helper.createException(Helper.java:41)
>       at 
> org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:163)
>       at 
> org.apache.calcite.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:227)
>       at 
> org.apache.calcite.test.CalciteAssert.assertQuery(CalciteAssert.java:528)
> Caused by: java.lang.NullPointerException
>       at java.util.Objects.requireNonNull(Objects.java:203)
>       at 
> org.apache.calcite.rel.core.AggregateCall.<init>(AggregateCall.java:98)
>       at 
> org.apache.calcite.rel.core.AggregateCall.create(AggregateCall.java:198)
>       at 
> org.apache.calcite.plan.SubstitutionVisitor.unifyAggregates(SubstitutionVisitor.java:1854)
>       at 
> org.apache.calcite.plan.SubstitutionVisitor$AggregateToAggregateUnifyRule.apply(SubstitutionVisitor.java:1545)
>       at 
> org.apache.calcite.plan.SubstitutionVisitor.go(SubstitutionVisitor.java:544)
>       at 
> org.apache.calcite.plan.SubstitutionVisitor.go(SubstitutionVisitor.java:478)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to