org.apache.hyracks.algebricks.core.rewriter.base.IAlgebraicRewriteRule
public 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.IAlgebraicRewriteRule
org.apache.hyracks.algebricks.common.exceptions.AlgebricksException
public 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.IAlgebraicRewriteRule
Copyright © 2019 Apache Software Foundation. All rights reserved.