Class ReplaceRedundantJoinWithProject

  • All Implemented Interfaces:
    Rule<JoinNode>

    public class ReplaceRedundantJoinWithProject
    extends Object
    implements Rule<JoinNode>
    This rule is complementary to RemoveRedundantJoin. It transforms plans with outer join where outer source of the join is not empty, and the other source is empty. Outer join is replaced with the outer source and a project which appends nulls as the empty source's outputs.