org.apache.hyracks.algebricks.core.rewriter.base.IAlgebraicRewriteRulepublic class ConvertAssignToAggregateRule extends AbstractVXQueryAggregateRule
Before
plan__parent
ASSIGN( $v2 : sf1( $v0 ) )
plan__child
Where sf1 is a XQuery aggregate function expression (count, max, min,
average, sum) with any supporting functions like treat, promote or data.
The variable $v0 is defined in plan__child.
After
plan__parent
SUBPLAN{
AGGREGATE( $v2 : af1( $v1 ) )
UNNEST( $v1 : iterate( $v0 ) )
NESTEDTUPLESOURCE
}
plan__child
| Constructor | Description |
|---|---|
ConvertAssignToAggregateRule() |
| 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) |
Find where an assign for a aggregate function is used before aggregate operator for a sequence.
|
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.