org.apache.hyracks.algebricks.core.rewriter.base.IAlgebraicRewriteRule
public class ConsolidateAssignAggregateRule extends AbstractVXQueryAggregateRule
Before plan__parent ASSIGN( $v2 : sf1( $v1 ) ) SUBPLAN{ AGGREGATE( $v1 : sequence( $v0 ) ) plan__nested NESTEDTUPLESOURCE } plan__child Where sf1 is a XQuery aggregate function expression (count, max, min, average, sum) with any supporting functions like treat, promote or data. Also plan__parent does not use $v1 After plan__parent SUBPLAN{ AGGREGATE( $v2 : af1( $v0 ) ) plan__nested NESTEDTUPLESOURCE } plan__child Where af1 is a XQuery aggregate function expression (count, max, min, average, sum) that has been implemented in an iterative approach and works on individual tuples instead of one value in given as a sequence.
Constructor | Description |
---|---|
ConsolidateAssignAggregateRule() |
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) |
getAggregateFunction
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
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)
Copyright © 2019 Apache Software Foundation. All rights reserved.