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.