Zhen Chen created CALCITE-7077:
----------------------------------

             Summary: Implement a rule to rewrite FULL JOIN as LEFT JOIN and 
RIGHT JOIN
                 Key: CALCITE-7077
                 URL: https://issues.apache.org/jira/browse/CALCITE-7077
             Project: Calcite
          Issue Type: New Feature
            Reporter: Zhen Chen
            Assignee: Zhen Chen


Invalid unparse for FULL JOIN in MySQLDialect is described in 
[CALCITE-7050|https://issues.apache.org/jira/browse/CALCITE-7050]. For this, a 
rule can be implemented to rewrite FULL JOIN into LEFT JOIN and RIGHT JOIN. For 
example:
original sql:

{code:java}
SELECT *
FROM Employees e
FULL JOIN Departments d ON e.id = d.id
{code}

rewrite into

{code:java}
SELECT *
FROM Employees e
LEFT JOIN Departments d ON e.id = d.id
UNION ALL
SELECT *
FROM Employees e
RIGHT JOIN Departments d ON e.id = d.id
where e.id is null; 
{code}




--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to