Class RelVisitor

Direct Known Subclasses:
Nodes.CoreCompiler, RelTraitPropagationVisitor, RelValidityChecker

public abstract class RelVisitor extends Object
A RelVisitor is a Visitor role in the visitor pattern and visits RelNode objects as the role of Element. Other components in the pattern: RelNode.childrenAccept(RelVisitor).
  • Constructor Details

    • RelVisitor

      public RelVisitor()
  • Method Details

    • visit

      public void visit(RelNode node, int ordinal, @Nullable RelNode parent)
      Visits a node during a traversal.
      node - Node to visit
      ordinal - Ordinal of node within its parent
      parent - Parent of the node, or null if it is the root of the traversal
    • replaceRoot

      public void replaceRoot(@Nullable RelNode node)
      Replaces the root node of this traversal.
      node - The new root node
    • go

      public @Nullable RelNode go(RelNode p)
      Starts an iteration.