Class SemiJoinRemoveRule

  • public class SemiJoinRemoveRule
    extends RelOptRule
    Planner rule that removes a SemiJoins from a join tree.

    It is invoked after attempts have been made to convert a SemiJoin to an indexed scan on a join factor have failed. Namely, if the join factor does not reduce to a single table that can be scanned using an index.

    It should only be enabled if all SemiJoins in the plan are advisory; that is, they can be safely dropped without affecting the semantics of the query.