Class ReplaceRedundantJoinWithSource
java.lang.Object
io.trino.sql.planner.iterative.rule.ReplaceRedundantJoinWithSource
This rule transforms plans with joins, where:
- one of the sources is scalar and produces no output symbols.
In case of LEFT or RIGHT join, it has to be the inner source.
In case of FULL or INNER join, it can be either source.
- the other join source is at least scalar (not known to be empty).
The join is replaced with the other source and an optional pruning projection.
Note: This rule does not transform plans where either join source is empty. Such plans are transformed by RemoveRedundantJoin and ReplaceRedundantJoinWithProject rules.
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.trino.sql.planner.iterative.Rule
Rule.Context, Rule.Result -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionapply(JoinNode node, Captures captures, Rule.Context context) Returns a pattern to which plan nodes this rule applies.
-
Constructor Details
-
ReplaceRedundantJoinWithSource
public ReplaceRedundantJoinWithSource()
-
-
Method Details