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.