Class DetermineSemiJoinDistributionType
java.lang.Object
io.trino.sql.planner.iterative.rule.DetermineSemiJoinDistributionType
- All Implemented Interfaces:
Rule<SemiJoinNode>
This rule must run after the distribution type has already been set for delete queries,
since semi joins in delete queries must be replicated.
Once we have better pattern matching, we can fold that optimizer into this one.
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.trino.sql.planner.iterative.Rule
Rule.Context, Rule.Result -
Constructor Summary
ConstructorsConstructorDescriptionDetermineSemiJoinDistributionType(CostComparator costComparator, TaskCountEstimator taskCountEstimator) -
Method Summary
Modifier and TypeMethodDescriptionapply(SemiJoinNode semiJoinNode, Captures captures, Rule.Context context) Returns a pattern to which plan nodes this rule applies.
-
Constructor Details
-
DetermineSemiJoinDistributionType
public DetermineSemiJoinDistributionType(CostComparator costComparator, TaskCountEstimator taskCountEstimator)
-
-
Method Details
-
getPattern
Description copied from interface:RuleReturns a pattern to which plan nodes this rule applies.- Specified by:
getPatternin interfaceRule<SemiJoinNode>
-
apply
- Specified by:
applyin interfaceRule<SemiJoinNode>
-