You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "James Starr (Jira)" <ji...@apache.org> on 2022/12/02 18:22:00 UTC
[jira] [Updated] (CALCITE-5418) Nested Queries are not expanded properly
[ https://issues.apache.org/jira/browse/CALCITE-5418?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
James Starr updated CALCITE-5418:
---------------------------------
Description:
SubQueryRemoveRule does not expand the subqueries correctly:
{code:sql}
SELECT deptno
FROM emp e
WHERE EXISTS (
SELECT *
FROM dept d
WHERE d.deptno = e.deptno
AND exists(
SELECT *
FROM emp_address ea
WHERE ea.empno = e.empno)
AND exists(
SELECT *
FROM emp e2
WHERE e2.deptno = d.deptno)){code}
{code}
LogicalProject(DEPTNO=[$7])
LogicalCorrelate(correlation=[$cor0], joinType=[inner], requiredColumns=[{0, 7}])
LogicalTableScan(table=[[CATALOG, SALES, EMP]])
LogicalAggregate(group=[{0}])
LogicalProject(i=[true])
LogicalFilter(condition=[=($0, $cor0.DEPTNO)])
LogicalCorrelate(correlation=[$cor2], joinType=[inner], requiredColumns=[{0}])
LogicalCorrelate(correlation=[$cor0], joinType=[inner], requiredColumns=[{0}]) <--- This is incorrect.
LogicalTableScan(table=[[CATALOG, SALES, DEPT]])
LogicalAggregate(group=[{0}])
LogicalProject(i=[true])
LogicalFilter(condition=[=($0, $cor0.EMPNO)])
LogicalTableScan(table=[[CATALOG, SALES, EMP_ADDRESS]])
LogicalAggregate(group=[{0}])
LogicalProject(i=[true])
LogicalFilter(condition=[=($7, $cor2.DEPTNO)])
LogicalTableScan(table=[[CATALOG, SALES, EMP]])
{code}
> Nested Queries are not expanded properly
> ----------------------------------------
>
> Key: CALCITE-5418
> URL: https://issues.apache.org/jira/browse/CALCITE-5418
> Project: Calcite
> Issue Type: Bug
> Reporter: James Starr
> Assignee: James Starr
> Priority: Major
>
> SubQueryRemoveRule does not expand the subqueries correctly:
> {code:sql}
> SELECT deptno
> FROM emp e
> WHERE EXISTS (
> SELECT *
> FROM dept d
> WHERE d.deptno = e.deptno
> AND exists(
> SELECT *
> FROM emp_address ea
> WHERE ea.empno = e.empno)
> AND exists(
> SELECT *
> FROM emp e2
> WHERE e2.deptno = d.deptno)){code}
> {code}
> LogicalProject(DEPTNO=[$7])
> LogicalCorrelate(correlation=[$cor0], joinType=[inner], requiredColumns=[{0, 7}])
> LogicalTableScan(table=[[CATALOG, SALES, EMP]])
> LogicalAggregate(group=[{0}])
> LogicalProject(i=[true])
> LogicalFilter(condition=[=($0, $cor0.DEPTNO)])
> LogicalCorrelate(correlation=[$cor2], joinType=[inner], requiredColumns=[{0}])
> LogicalCorrelate(correlation=[$cor0], joinType=[inner], requiredColumns=[{0}]) <--- This is incorrect.
> LogicalTableScan(table=[[CATALOG, SALES, DEPT]])
> LogicalAggregate(group=[{0}])
> LogicalProject(i=[true])
> LogicalFilter(condition=[=($0, $cor0.EMPNO)])
> LogicalTableScan(table=[[CATALOG, SALES, EMP_ADDRESS]])
> LogicalAggregate(group=[{0}])
> LogicalProject(i=[true])
> LogicalFilter(condition=[=($7, $cor2.DEPTNO)])
> LogicalTableScan(table=[[CATALOG, SALES, EMP]])
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)