[ https://issues.apache.org/jira/browse/CALCITE-5846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17743040#comment-17743040 ]
JingDas commented on CALCITE-5846: ---------------------------------- In Calcite, I run test as following: SQL {code:java} SELECT deptno, SUM(sal) FILTER (WHERE sal > 1000), SUM(sal) WITHIN DISTINCT (job) FROM emp GROUP BY deptno;{code} After AggregateExpandWithinDistinctRule#onMatch the relNode is as following: {code:java} LogicalProject(DEPTNO=[$0], EXPR$1=[CASE(=($2, 0), null:INTEGER, $1)], EXPR$2=[$3]) LogicalProject(DEPTNO=[$0], $f1=[CAST($1):INTEGER NOT NULL], $f2=[CAST($2):BIGINT NOT NULL], $f3=[$3]) LogicalAggregate(group=[{0}], agg#0=[MIN($1) FILTER $4], agg#1=[MIN($2) FILTER $4], agg#2=[$SUM0($3) FILTER $5]) LogicalProject(DEPTNO=[$0], $f2=[$2], $f3=[$3], $f4=[$4], $f6=[=($5, 1)], $f7=[=($5, 0)]) LogicalAggregate(group=[{0, 3}], groups=[[{0, 3}, {0}]], agg#0=[$SUM0($1)], agg#1=[COUNT()], agg#2=[MIN($1)], agg#3=[GROUPING($0, $3)]) LogicalProject(DEPTNO=[$7], SAL=[$5], $f2=[>($5, 1000)], JOB=[$2]) LogicalTableScan(table=[[CATALOG, SALES, EMP]]){code} The 'sal > 1000' filter in query seems lost. > AggregateExpandWithinDistinctRule drops filters on non-distinct aggCalls > ------------------------------------------------------------------------ > > Key: CALCITE-5846 > URL: https://issues.apache.org/jira/browse/CALCITE-5846 > Project: Calcite > Issue Type: Bug > Reporter: Steven Talbot > Priority: Major > > This line > [https://github.com/apache/calcite/blob/2dba40e7a0a5651eac5a30d9e0a72f178bd9bff2/core/src/main/java/org/apache/calcite/rel/rules/AggregateExpandWithinDistinctRule.java#L346-L348] > drops any such filterArg. > Related to CALCITE-4726. When the rule was first introduced any such > aggregates were blocked, but that change lets them through. -- This message was sent by Atlassian Jira (v8.20.10#820010)