org.apache.hyracks.algebricks.core.rewriter.base.IAlgebraicRewriteRulepublic class ConsolidateUnnestsRule extends AbstractUsedVariablesProcessingRule
Before plan__parent UNNEST( $v2 : uf2( $v1 ) ) UNNEST( $v1 : uf1( $v0 ) ) plan__child Where $v1 is not used in plan__parent and uf1 is not a descendant expression. After plan__parent UNNEST( $v2 : uf2( sf1( $v0 ) ) ) plan__child uf1 becomes sf1 since it changes from unnesting to scalar expression.
hasRun, usedVariables| Constructor | Description | 
|---|---|
| ConsolidateUnnestsRule() | 
| Modifier and Type | Method | Description | 
|---|---|---|
| protected boolean | processOperator(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, rewritePre, rewritePreTrackingUsedVariablesprotected boolean processOperator(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
processOperator in class AbstractUsedVariablesProcessingRuleorg.apache.hyracks.algebricks.common.exceptions.AlgebricksExceptionCopyright © 2019 Apache Software Foundation. All Rights Reserved.