pub fn eliminate_full_outer_join(expr: Expression) -> Result<Expression>Expand description
Convert FULL OUTER JOIN to a UNION of LEFT and RIGHT OUTER joins.
For dialects that don’t support FULL OUTER JOIN, this converts:
SELECT * FROM a FULL OUTER JOIN b ON a.x = b.xTo:
SELECT * FROM a LEFT OUTER JOIN b ON a.x = b.x
UNION ALL
SELECT * FROM a RIGHT OUTER JOIN b ON a.x = b.x
WHERE NOT EXISTS (SELECT 1 FROM a WHERE a.x = b.x)Note: This transformation currently only works for queries with a single FULL OUTER join.
Reference: transforms.py:624-661