xiong duan created CALCITE-6469:
-----------------------------------
Summary: Join on condition generates wrong plan when the condition
is IN sub-query
Key: CALCITE-6469
URL: https://issues.apache.org/jira/browse/CALCITE-6469
Project: Calcite
Issue Type: Bug
Affects Versions: 1.37.0
Reporter: xiong duan
Assignee: xiong duan
Fix For: 1.38.0
Now Calcite will throw an exception when we execute the SQL:
{code:java}
select * from scott.bonus b left join scott.emp e on e.deptno in (select
deptno from scott.dept b){code}
I will try to rewrite this SQL become:
{code:java}
SELECT *
FROM "SCOTT"."BONUS"
LEFT JOIN ("SCOTT"."EMP" INNER JOIN (SELECT "DEPTNO"
FROM "SCOTT"."DEPT"
GROUP BY "DEPTNO") AS "t" ON "EMP"."DEPTNO" = "t"."DEPTNO") ON TRUE{code}
The SQL :
{code:java}
select * from scott.emp e left join scott.bonus b on e.deptno in (select
deptno from scott.dept b) {code}
I will try to rewrite this SQL become:
{code:java}
SELECT *
FROM "SCOTT"."EMP"
LEFT JOIN ("SCOTT"."BONUS" CROSS JOIN (SELECT "DEPTNO"
FROM "SCOTT"."DEPT"
GROUP BY "DEPTNO") AS "t") ON "EMP"."DEPTNO" = "t"."DEPTNO" {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)