Package org.apache.calcite.rel
Class RelShuttleImpl
- java.lang.Object
-
- org.apache.calcite.rel.RelShuttleImpl
-
- All Implemented Interfaces:
RelShuttle
- Direct Known Subclasses:
ProjectCorrelateTransposeRule.RelNodesExprsHandler
,RelDecorrelator.CorelMapBuilder
,RelHomogeneousShuttle
public class RelShuttleImpl extends java.lang.Object implements RelShuttle
Basic implementation ofRelShuttle
that callsRelNode.accept(RelShuttle)
on each child, andRelNode.copy(org.apache.calcite.plan.RelTraitSet, java.util.List)
if any children change.
-
-
Constructor Summary
Constructors Constructor Description RelShuttleImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RelNode
visit(TableFunctionScan scan)
RelNode
visit(TableScan scan)
RelNode
visit(LogicalAggregate aggregate)
RelNode
visit(LogicalCorrelate correlate)
RelNode
visit(LogicalExchange exchange)
RelNode
visit(LogicalFilter filter)
RelNode
visit(LogicalIntersect intersect)
RelNode
visit(LogicalJoin join)
RelNode
visit(LogicalMatch match)
RelNode
visit(LogicalMinus minus)
RelNode
visit(LogicalProject project)
RelNode
visit(LogicalSort sort)
RelNode
visit(LogicalUnion union)
RelNode
visit(LogicalValues values)
RelNode
visit(RelNode other)
protected RelNode
visitChild(RelNode parent, int i, RelNode child)
Visits a particular child of a parent.protected RelNode
visitChildren(RelNode rel)
-
-
-
Field Detail
-
stack
protected final java.util.Deque<RelNode> stack
-
-
Method Detail
-
visitChild
protected RelNode visitChild(RelNode parent, int i, RelNode child)
Visits a particular child of a parent.
-
visit
public RelNode visit(LogicalAggregate aggregate)
- Specified by:
visit
in interfaceRelShuttle
-
visit
public RelNode visit(LogicalMatch match)
- Specified by:
visit
in interfaceRelShuttle
-
visit
public RelNode visit(TableScan scan)
- Specified by:
visit
in interfaceRelShuttle
-
visit
public RelNode visit(TableFunctionScan scan)
- Specified by:
visit
in interfaceRelShuttle
-
visit
public RelNode visit(LogicalValues values)
- Specified by:
visit
in interfaceRelShuttle
-
visit
public RelNode visit(LogicalFilter filter)
- Specified by:
visit
in interfaceRelShuttle
-
visit
public RelNode visit(LogicalProject project)
- Specified by:
visit
in interfaceRelShuttle
-
visit
public RelNode visit(LogicalJoin join)
- Specified by:
visit
in interfaceRelShuttle
-
visit
public RelNode visit(LogicalCorrelate correlate)
- Specified by:
visit
in interfaceRelShuttle
-
visit
public RelNode visit(LogicalUnion union)
- Specified by:
visit
in interfaceRelShuttle
-
visit
public RelNode visit(LogicalIntersect intersect)
- Specified by:
visit
in interfaceRelShuttle
-
visit
public RelNode visit(LogicalMinus minus)
- Specified by:
visit
in interfaceRelShuttle
-
visit
public RelNode visit(LogicalSort sort)
- Specified by:
visit
in interfaceRelShuttle
-
visit
public RelNode visit(LogicalExchange exchange)
- Specified by:
visit
in interfaceRelShuttle
-
visit
public RelNode visit(RelNode other)
- Specified by:
visit
in interfaceRelShuttle
-
-