org.apache.hyracks.algebricks.core.rewriter.base.IAlgebraicRewriteRulepublic class IntroduceTwoStepAggregateRule extends Object implements org.apache.hyracks.algebricks.core.rewriter.base.IAlgebraicRewriteRule
Before
plan__parent
AGGREGATE( $v : af1( $v1 ) )
plan__child
Where af1 is a VXquery aggregate function expression configured for single
step processing and $v1 is defined in plan__child.
After
if (af1 == count) aggregate operating settings:
Step 1: count
Step 2: sum
if (af1 == avg) aggregate operating settings:
Step 1: avg-local
Step 2: avg-global
if (af1 in (max, min, sum)) aggregate operating settings:
Step 1: af1
Step 2: af1
| Constructor | Description |
|---|---|
IntroduceTwoStepAggregateRule() |
| Modifier and Type | Method | Description |
|---|---|---|
boolean |
rewritePost(org.apache.commons.lang3.mutable.Mutable<org.apache.hyracks.algebricks.core.algebra.base.ILogicalOperator> opRef,
org.apache.hyracks.algebricks.core.algebra.base.IOptimizationContext context) |
|
boolean |
rewritePre(org.apache.commons.lang3.mutable.Mutable<org.apache.hyracks.algebricks.core.algebra.base.ILogicalOperator> opRef,
org.apache.hyracks.algebricks.core.algebra.base.IOptimizationContext context) |
public boolean rewritePre(org.apache.commons.lang3.mutable.Mutable<org.apache.hyracks.algebricks.core.algebra.base.ILogicalOperator> opRef,
org.apache.hyracks.algebricks.core.algebra.base.IOptimizationContext context)
throws org.apache.hyracks.algebricks.common.exceptions.AlgebricksException
rewritePre in interface org.apache.hyracks.algebricks.core.rewriter.base.IAlgebraicRewriteRuleorg.apache.hyracks.algebricks.common.exceptions.AlgebricksExceptionpublic boolean rewritePost(org.apache.commons.lang3.mutable.Mutable<org.apache.hyracks.algebricks.core.algebra.base.ILogicalOperator> opRef,
org.apache.hyracks.algebricks.core.algebra.base.IOptimizationContext context)
rewritePost in interface org.apache.hyracks.algebricks.core.rewriter.base.IAlgebraicRewriteRuleCopyright © 2019 Apache Software Foundation. All rights reserved.