Class ComplexUnnestVisitor
java.lang.Object
org.apache.calcite.rel.RelShuttleImpl
org.apache.drill.exec.planner.sql.handlers.ComplexUnnestVisitor
- All Implemented Interfaces:
org.apache.calcite.rel.RelShuttle
public class ComplexUnnestVisitor
extends org.apache.calcite.rel.RelShuttleImpl
Visitor that moves non-
RexFieldAccess rex node from project below Uncollect
to the left side of the Correlate.-
Field Summary
Fields inherited from class org.apache.calcite.rel.RelShuttleImpl
stack -
Method Summary
Modifier and TypeMethodDescriptionstatic org.apache.calcite.rel.RelNoderewriteUnnestWithComplexExprs(org.apache.calcite.rel.RelNode relNode) Rewrites rel node tree and moves non-RexFieldAccessrex node from the project belowUncollectto the left side of theCorrelate.org.apache.calcite.rel.RelNodevisit(org.apache.calcite.rel.core.Uncollect uncollect) org.apache.calcite.rel.RelNodevisit(org.apache.calcite.rel.logical.LogicalCorrelate correlate) org.apache.calcite.rel.RelNodevisit(org.apache.calcite.rel.RelNode other) Methods inherited from class org.apache.calcite.rel.RelShuttleImpl
visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitChild, visitChildren
-
Method Details
-
visit
public org.apache.calcite.rel.RelNode visit(org.apache.calcite.rel.logical.LogicalCorrelate correlate) - Specified by:
visitin interfaceorg.apache.calcite.rel.RelShuttle- Overrides:
visitin classorg.apache.calcite.rel.RelShuttleImpl
-
visit
public org.apache.calcite.rel.RelNode visit(org.apache.calcite.rel.RelNode other) - Specified by:
visitin interfaceorg.apache.calcite.rel.RelShuttle- Overrides:
visitin classorg.apache.calcite.rel.RelShuttleImpl
-
visit
public org.apache.calcite.rel.RelNode visit(org.apache.calcite.rel.core.Uncollect uncollect) -
rewriteUnnestWithComplexExprs
public static org.apache.calcite.rel.RelNode rewriteUnnestWithComplexExprs(org.apache.calcite.rel.RelNode relNode) Rewrites rel node tree and moves non-RexFieldAccessrex node from the project belowUncollectto the left side of theCorrelate.- Parameters:
relNode- tree to be rewritten- Returns:
- rewritten rel node tree
-