You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by "Shivender Devarakonda (Jira)" <ji...@apache.org> on 2021/07/14 23:37:00 UTC
[jira] [Created] (CALCITE-4693) Query with Lateral Join is
converted to Inner Join instead of Left Join
Shivender Devarakonda created CALCITE-4693:
----------------------------------------------
Summary: Query with Lateral Join is converted to Inner Join instead of Left Join
Key: CALCITE-4693
URL: https://issues.apache.org/jira/browse/CALCITE-4693
Project: Calcite
Issue Type: Bug
Components: core
Affects Versions: 1.26.0
Reporter: Shivender Devarakonda
The following query:
{code:java}
SELECT
K.ID,
K.C1 - t2.totalAmount AS amountDue
FROM
T895 AS K,
LATERAL (
SELECT
sum(C201 + C202) AS totalAmount
FROM T902
WHERE
C200 = K.ID
) AS t2{code}
is converted to following RelNode( this is innerJoin):
{code:java}
LogicalProject(ID=[$0], amountDue=[-($2, $4)])
LogicalJoin(condition=[=($0, $3)], joinType=[inner])
LogicalTableScan(table=[[T895]])
LogicalAggregate(group=[{0}], totalAmount=[SUM($1)])
LogicalProject(C200=[$0], $f0=[+($1, $2)])
LogicalTableScan(table=[[T902]]) {code}
we can convert this relnode back to SQL again, it clearly shows that it is inner join.
Tried the Lateral join query on Postgres, the results clearly show that it is a left join.
is there any specific reason behind this behavior ? it seems to be a bug.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)