xiong duan created CALCITE-6650:
-----------------------------------
Summary: Optimize the IN sub-query and SOME sub-query by Metadata
RowCount
Key: CALCITE-6650
URL: https://issues.apache.org/jira/browse/CALCITE-6650
Project: Calcite
Issue Type: Improvement
Reporter: xiong duan
SQL:
{code:java}
select * from dept as d where deptno not in (select count(*) from emp e having
false)
Before this PR:
LogicalProject(DEPTNO=[$0], NAME=[$1])
LogicalProject(DEPTNO=[$0], NAME=[$1])
LogicalFilter(condition=[OR(=($2, 0), AND(IS NULL($5), >=($3, $2)))])
LogicalJoin(condition=[=(CAST($0):BIGINT NOT NULL, $4)], joinType=[left])
LogicalJoin(condition=[true], joinType=[inner])\n
LogicalTableScan(table=[[CATALOG, SALES, DEPT]])
LogicalProject(c=[$0], ck=[$0])
LogicalAggregate(group=[{}], c=[COUNT()])
LogicalValues(tuples=[[]])
LogicalProject(EXPR$0=[$0], i=[true])
LogicalValues(tuples=[[]])\n
After this PR:
LogicalProject(DEPTNO=[$0], NAME=[$1])
LogicalTableScan(table=[[CATALOG, SALES, DEPT]]) {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)