public class ImplementFilteredAggregations extends Object implements Rule<AggregationNode>
- Aggregation
F1(...) FILTER (WHERE C1(...)),
F2(...) FILTER (WHERE C2(...))
- X
into
- Aggregation
F1(...) mask ($0)
F2(...) mask ($1)
- Filter(mask ($0) OR mask ($1))
- Project
<identity projections for existing fields>
$0 = C1(...)
$1 = C2(...)
- X
Rule.Context, Rule.Result| Constructor and Description |
|---|
ImplementFilteredAggregations() |
| Modifier and Type | Method and Description |
|---|---|
Rule.Result |
apply(AggregationNode aggregation,
Captures captures,
Rule.Context context) |
Pattern<AggregationNode> |
getPattern()
Returns a pattern to which plan nodes this rule applies.
|
public Pattern<AggregationNode> getPattern()
RulegetPattern in interface Rule<AggregationNode>public Rule.Result apply(AggregationNode aggregation, Captures captures, Rule.Context context)
apply in interface Rule<AggregationNode>Copyright © 2012–2019. All rights reserved.