org.apache.hyracks.algebricks.core.rewriter.base.IAlgebraicRewriteRulepublic 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) |
getAggregateFunctionpublic 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.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)
Copyright © 2019 Apache Software Foundation. All Rights Reserved.