Class SimpleRexRemap.FieldsMarker

java.lang.Object
org.apache.calcite.rex.RexVisitorImpl<PathSegment>
org.apache.drill.exec.planner.index.SimpleRexRemap.FieldsMarker
All Implemented Interfaces:
org.apache.calcite.rex.RexVisitor<PathSegment>
Enclosing class:
SimpleRexRemap

public static class SimpleRexRemap.FieldsMarker extends org.apache.calcite.rex.RexVisitorImpl<PathSegment>
This class go through the RexNode, collect all the fieldNames, mark starting positions(RexNode) of fields so this information can be used later e,.g. replaced with a substitute node
  • Field Summary

    Fields inherited from class org.apache.calcite.rex.RexVisitorImpl

    deep
  • Constructor Summary

    Constructors
    Constructor
    Description
    FieldsMarker(org.apache.calcite.rel.type.RelDataType rowType)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    Map<org.apache.calcite.rex.RexNode,String>
     
    visitCall(org.apache.calcite.rex.RexCall call)
     
    visitInputRef(org.apache.calcite.rex.RexInputRef inputRef)
     

    Methods inherited from class org.apache.calcite.rex.RexVisitorImpl

    visitArrayAnd, visitArrayOr, visitCorrelVariable, visitDynamicParam, visitFieldAccess, visitLiteral, visitLocalRef, visitOver, visitPatternFieldRef, visitRangeRef, visitSubQuery, visitTableInputRef

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.apache.calcite.rex.RexVisitor

    visitEach, visitList, visitList
  • Constructor Details

    • FieldsMarker

      public FieldsMarker(org.apache.calcite.rel.type.RelDataType rowType)
  • Method Details

    • getFieldAndPos

      public Map<org.apache.calcite.rex.RexNode,String> getFieldAndPos()
    • visitInputRef

      public PathSegment visitInputRef(org.apache.calcite.rex.RexInputRef inputRef)
      Specified by:
      visitInputRef in interface org.apache.calcite.rex.RexVisitor<PathSegment>
      Overrides:
      visitInputRef in class org.apache.calcite.rex.RexVisitorImpl<PathSegment>
    • visitCall

      public PathSegment visitCall(org.apache.calcite.rex.RexCall call)
      Specified by:
      visitCall in interface org.apache.calcite.rex.RexVisitor<PathSegment>
      Overrides:
      visitCall in class org.apache.calcite.rex.RexVisitorImpl<PathSegment>