public class TransformExistsApplyToLateralNode extends Object implements Rule<ApplyNode>
- Project(exists := COALESCE(subqueryTrue, false))
- LateralJoin(LEFT)
- input
- Project(subqueryTrue := true)
- Limit(count=1)
- subquery
or:
- LateralJoin(LEFT)
- input
- Project($0 > 0)
- Aggregation(COUNT(*))
- subquery
otherwiseRule.Context, Rule.Result| Constructor and Description |
|---|
TransformExistsApplyToLateralNode(FunctionRegistry functionRegistry) |
| Modifier and Type | Method and Description |
|---|---|
Rule.Result |
apply(ApplyNode parent,
Captures captures,
Rule.Context context) |
Pattern<ApplyNode> |
getPattern()
Returns a pattern to which plan nodes this rule applies.
|
public TransformExistsApplyToLateralNode(FunctionRegistry functionRegistry)
public Pattern<ApplyNode> getPattern()
RulegetPattern in interface Rule<ApplyNode>public Rule.Result apply(ApplyNode parent, Captures captures, Rule.Context context)
Copyright © 2012–2019. All rights reserved.