public class TransformUncorrelatedInPredicateSubqueryToSemiJoin extends Object implements Rule<ApplyNode>
Filter(a IN b):
Apply
- correlation: [] // empty
- input: some plan A producing symbol a
- subquery: some plan B producing symbol b
Plan after optimizer:
Filter(semijoinresult):
SemiJoin
- source: plan A
- filteringSource: symbol a
- sourceJoinSymbol: plan B
- filteringSourceJoinSymbol: symbol b
- semiJoinOutput: semijoinresult
Rule.Context, Rule.Result| Constructor and Description |
|---|
TransformUncorrelatedInPredicateSubqueryToSemiJoin() |
| Modifier and Type | Method and Description |
|---|---|
Rule.Result |
apply(ApplyNode applyNode,
Captures captures,
Rule.Context context) |
Pattern<ApplyNode> |
getPattern()
Returns a pattern to which plan nodes this rule applies.
|
public TransformUncorrelatedInPredicateSubqueryToSemiJoin()
public Pattern<ApplyNode> getPattern()
RulegetPattern in interface Rule<ApplyNode>public Rule.Result apply(ApplyNode applyNode, Captures captures, Rule.Context context)
Copyright © 2012–2019. All rights reserved.