Interface RexBiVisitor<R,P>

Type Parameters:
R - Return type
P - Payload type
All Known Implementing Classes:
LogicVisitor, RexBiVisitorImpl, RexUnaryBiVisitor

public interface RexBiVisitor<R,P>
Visitor pattern for traversing a tree of RexNode objects and passing a payload to each.
See Also:
  • Method Details

    • visitInputRef

      R visitInputRef(RexInputRef inputRef, P arg)
    • visitLocalRef

      R visitLocalRef(RexLocalRef localRef, P arg)
    • visitLiteral

      R visitLiteral(RexLiteral literal, P arg)
    • visitCall

      R visitCall(RexCall call, P arg)
    • visitOver

      R visitOver(RexOver over, P arg)
    • visitCorrelVariable

      R visitCorrelVariable(RexCorrelVariable correlVariable, P arg)
    • visitDynamicParam

      R visitDynamicParam(RexDynamicParam dynamicParam, P arg)
    • visitRangeRef

      R visitRangeRef(RexRangeRef rangeRef, P arg)
    • visitFieldAccess

      R visitFieldAccess(RexFieldAccess fieldAccess, P arg)
    • visitSubQuery

      R visitSubQuery(RexSubQuery subQuery, P arg)
    • visitTableInputRef

      R visitTableInputRef(RexTableInputRef ref, P arg)
    • visitPatternFieldRef

      R visitPatternFieldRef(RexPatternFieldRef ref, P arg)
    • visitList

      default void visitList(Iterable<? extends RexNode> exprs, P arg, List<R> out)
      Visits a list and writes the results to another list.
    • visitList

      default List<R> visitList(Iterable<? extends RexNode> exprs, P arg)
      Visits a list and returns a list of the results. The resulting list is immutable and does not contain nulls.
    • visitEach

      default void visitEach(Iterable<? extends RexNode> exprs, P arg)
      Visits a list of expressions.
    • visitEachIndexed

      default void visitEachIndexed(Iterable<? extends RexNode> exprs)
      Visits a list of expressions, passing the 0-based index of the expression in the list.

      Assumes that the payload type P is Integer.