You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "xzh_dz (Jira)" <ji...@apache.org> on 2020/06/04 11:10:00 UTC

[jira] [Comment Edited] (CALCITE-4040) An aggregate function that does not support roll up throws an exception when it is rolled up

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

xzh_dz edited comment on CALCITE-4040 at 6/4/20, 11:09 AM:
-----------------------------------------------------------

[~donnyzone]update it.


was (Author: xzh_dz):
update it.

> 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: 40m
>  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)