Viggo Chen created CALCITE-6734:
-----------------------------------

             Summary: RelFieldTrimmer do not trim the input of aggregate 
properly
                 Key: CALCITE-6734
                 URL: https://issues.apache.org/jira/browse/CALCITE-6734
             Project: Calcite
          Issue Type: Improvement
          Components: core
    Affects Versions: 1.38.0
            Reporter: Viggo Chen


{code:java}
SELECT DEPTNO,
       SAL
FROM
  (SELECT DEPTNO,
          SUM(SAL) AS SAL,
          COUNT(ENAME) AS ENAME
   FROM EMP
   WHERE DEPTNO > 100
   GROUP BY DEPTNO)

{code}
For above sql, ENAME is unnecessary to read.

As show in [https://github.com/apache/calcite/pull/4095] 

The expected plan is 
{code:java}
LogicalAggregate(group=[{2}], SAL=[SUM($1)])
  LogicalFilter(condition=[>($2, 100)])
    LogicalProject(EMPNO=[$0], SAL=[$5], DEPTNO=[$7])
      LogicalTableScan(table=[[scott, EMP]]) {code}
but what we get now is 
{code:java}
LogicalAggregate(group=[{3}], SAL=[SUM($2)])
  LogicalFilter(condition=[>($3, 100)])
    LogicalProject(EMPNO=[$0], ENAME=[$1], SAL=[$5], DEPTNO=[$7])
      LogicalTableScan(table=[[scott, EMP]]) {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to