Package org.apache.calcite.rel
Class RelVisitor
- java.lang.Object
-
- org.apache.calcite.rel.RelVisitor
-
- Direct Known Subclasses:
Interpreter.CompilerImpl
,RelOptUtil.VariableSetVisitor
,RelStructuredTypeFlattener.RewriteRelVisitor
,RelTraitPropagationVisitor
,TableAccessMap.TableRelVisitor
public abstract class RelVisitor extends java.lang.Object
ARelVisitor
is a Visitor role in thevisitor pattern
and visitsRelNode
objects as the role of Element. Other components in the pattern:RelNode.childrenAccept(RelVisitor)
.
-
-
Constructor Summary
Constructors Constructor Description RelVisitor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RelNode
go(RelNode p)
Starts an iteration.void
replaceRoot(RelNode node)
Replaces the root node of this traversal.void
visit(RelNode node, int ordinal, RelNode parent)
Visits a node during a traversal.
-
-
-
Field Detail
-
root
private RelNode root
-
-
Method Detail
-
visit
public void visit(RelNode node, int ordinal, RelNode parent)
Visits a node during a traversal.- Parameters:
node
- Node to visitordinal
- Ordinal of node within its parentparent
- Parent of the node, or null if it is the root of the traversal
-
replaceRoot
public void replaceRoot(RelNode node)
Replaces the root node of this traversal.- Parameters:
node
- The new root node
-
-