org.apache.hyracks.algebricks.core.rewriter.base.IAlgebraicRewriteRule
public 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, rewritePreTrackingUsedVariables
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) throws org.apache.hyracks.algebricks.common.exceptions.AlgebricksException
processOperator
in class AbstractUsedVariablesProcessingRule
org.apache.hyracks.algebricks.common.exceptions.AlgebricksException
Copyright © 2019 Apache Software Foundation. All rights reserved.