[ https://issues.apache.org/jira/browse/CALCITE-1930?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16117594#comment-16117594 ]
Julian Hyde commented on CALCITE-1930: -------------------------------------- Thanks for finding and fixing this. A few comments: * How crucial is the assumption that there's only one argument? Could we drop it? Is it a new assumption, or did it already exist in the previous code? The standard aggregate functions happen to have one argument, but real ones may have many. Calcite has {{COUNT(x, y, z)}} as a built-in. So it would be really useful if we dropped that assumption. * Can you please add some tests to agg.iq? Sometimes we don't notice that rule are producing the wrong relational algebra but you can't argue if the results are wrong. > AggregateExpandDistinctAggregatesRule does not expand aggregates properly > ------------------------------------------------------------------------- > > Key: CALCITE-1930 > URL: https://issues.apache.org/jira/browse/CALCITE-1930 > Project: Calcite > Issue Type: Bug > Components: core > Reporter: MinJi Kim > Assignee: Julian Hyde > > A query with two aggregate calls, sum(comm) and min(comm), it produces an > incorrect plan. The main problem is that it fails to index the input of > sum(comm) and min(comm) properly. This seems to only happen in the special > case where there is only one distinct aggregate call. > {code} > SELECT deptno, sum(comm), min(comm), SUM(DISTINCT sal) FROM emp GROUP BY > deptno > {code} > AggregateExpandDistinctAggregatesRule produces the following plan in this > case. > {code} > LogicalAggregate(group=[{0}], EXPR$1=[SUM($3)], EXPR$2=[MIN($3)], > EXPR$3=[SUM($1)]) > LogicalAggregate(group=[{0, 2}], EXPR$1=[SUM($1)], EXPR$2=[MIN($1)]) > LogicalProject(DEPTNO=[$7], COMM=[$6], SAL=[$5]) > LogicalTableScan(table=[[CATALOG, SALES, EMP]]) > {code} > In the above plan, the top LogicalAggregate EXPR$1=[SUM($3]] is incorrect, it > should be SUM($2). -- This message was sent by Atlassian JIRA (v6.4.14#64029)