Class FullToLeftAndRightJoinRule

All Implemented Interfaces:
TransformationRule

@Enclosing public class FullToLeftAndRightJoinRule extends RelRule<FullToLeftAndRightJoinRule.Config> implements TransformationRule
Planner rule that matches a Join that join type is FULL, and convert it to a LEFT JOIN and RIGHT JOIN combination with a UNION ALL above them.

The SQL example is as follows:


 SELECT *
 FROM Employees e
 FULL JOIN Departments d ON e.id = d.id
 

rewritten into


 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 = d.id) IS NOT TRUE;