Class DetermineSemiJoinDistributionType
- java.lang.Object
-
- io.prestosql.sql.planner.iterative.rule.DetermineSemiJoinDistributionType
-
- All Implemented Interfaces:
Rule<SemiJoinNode>
public class DetermineSemiJoinDistributionType extends Object implements 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.prestosql.sql.planner.iterative.Rule
Rule.Context, Rule.Result
-
-
Constructor Summary
Constructors Constructor Description DetermineSemiJoinDistributionType(CostComparator costComparator, TaskCountEstimator taskCountEstimator)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Rule.Result
apply(SemiJoinNode semiJoinNode, Captures captures, Rule.Context context)
Pattern<SemiJoinNode>
getPattern()
Returns a pattern to which plan nodes this rule applies.
-
-
-
Constructor Detail
-
DetermineSemiJoinDistributionType
public DetermineSemiJoinDistributionType(CostComparator costComparator, TaskCountEstimator taskCountEstimator)
-
-
Method Detail
-
getPattern
public Pattern<SemiJoinNode> getPattern()
Description copied from interface:Rule
Returns a pattern to which plan nodes this rule applies.- Specified by:
getPattern
in interfaceRule<SemiJoinNode>
-
apply
public Rule.Result apply(SemiJoinNode semiJoinNode, Captures captures, Rule.Context context)
- Specified by:
apply
in interfaceRule<SemiJoinNode>
-
-