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)