Class KuduProjectRel.KuduProjectTransformer

java.lang.Object
org.apache.calcite.rex.RexVisitorImpl<org.apache.calcite.rex.RexNode>
com.twilio.kudu.sql.rel.KuduProjectRel.KuduProjectTransformer
All Implemented Interfaces:
org.apache.calcite.rex.RexVisitor<org.apache.calcite.rex.RexNode>
Enclosing class:
KuduProjectRel

public static class KuduProjectRel.KuduProjectTransformer extends org.apache.calcite.rex.RexVisitorImpl<org.apache.calcite.rex.RexNode>
Used to transform projections of a LogicalProject to use the output of a KuduProjectRel
  • Field Summary

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

    deep
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    LinkedHashMap<Integer,org.apache.calcite.rel.type.RelDataTypeField>
     
    org.apache.calcite.rex.RexCall
    visitCall(org.apache.calcite.rex.RexCall call)
    Extract the columns used an inputs to functions
    org.apache.calcite.rex.RexCorrelVariable
    visitCorrelVariable(org.apache.calcite.rex.RexCorrelVariable correlVariable)
     
    org.apache.calcite.rex.RexDynamicParam
    visitDynamicParam(org.apache.calcite.rex.RexDynamicParam dynamicParam)
     
    org.apache.calcite.rex.RexFieldAccess
    visitFieldAccess(org.apache.calcite.rex.RexFieldAccess fieldAccess)
     
    org.apache.calcite.rex.RexNode
    visitInputRef(org.apache.calcite.rex.RexInputRef inputRef)
     
    org.apache.calcite.rex.RexLiteral
    visitLiteral(org.apache.calcite.rex.RexLiteral literal)
     
    org.apache.calcite.rex.RexLocalRef
    visitLocalRef(org.apache.calcite.rex.RexLocalRef localRef)
     
    org.apache.calcite.rex.RexOver
    visitOver(org.apache.calcite.rex.RexOver over)
     
    org.apache.calcite.rex.RexPatternFieldRef
    visitPatternFieldRef(org.apache.calcite.rex.RexPatternFieldRef fieldRef)
     
    org.apache.calcite.rex.RexRangeRef
    visitRangeRef(org.apache.calcite.rex.RexRangeRef rangeRef)
     
    org.apache.calcite.rex.RexSubQuery
    visitSubQuery(org.apache.calcite.rex.RexSubQuery subQuery)
     
    org.apache.calcite.rex.RexTableInputRef
    visitTableInputRef(org.apache.calcite.rex.RexTableInputRef fieldRef)
     

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

    visitArrayAnd, visitArrayOr

    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

    • KuduProjectTransformer

      public KuduProjectTransformer()
  • Method Details

    • getProjectedColumnToRelDataTypeFieldMap

      public LinkedHashMap<Integer,org.apache.calcite.rel.type.RelDataTypeField> getProjectedColumnToRelDataTypeFieldMap()
    • visitInputRef

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

      public org.apache.calcite.rex.RexCall visitCall(org.apache.calcite.rex.RexCall call)
      Extract the columns used an inputs to functions
      Specified by:
      visitCall in interface org.apache.calcite.rex.RexVisitor<org.apache.calcite.rex.RexNode>
      Overrides:
      visitCall in class org.apache.calcite.rex.RexVisitorImpl<org.apache.calcite.rex.RexNode>
      Parameters:
      call - function call
      Returns:
      list of column indexes
    • visitLocalRef

      public org.apache.calcite.rex.RexLocalRef visitLocalRef(org.apache.calcite.rex.RexLocalRef localRef)
      Specified by:
      visitLocalRef in interface org.apache.calcite.rex.RexVisitor<org.apache.calcite.rex.RexNode>
      Overrides:
      visitLocalRef in class org.apache.calcite.rex.RexVisitorImpl<org.apache.calcite.rex.RexNode>
    • visitLiteral

      public org.apache.calcite.rex.RexLiteral visitLiteral(org.apache.calcite.rex.RexLiteral literal)
      Specified by:
      visitLiteral in interface org.apache.calcite.rex.RexVisitor<org.apache.calcite.rex.RexNode>
      Overrides:
      visitLiteral in class org.apache.calcite.rex.RexVisitorImpl<org.apache.calcite.rex.RexNode>
    • visitOver

      public org.apache.calcite.rex.RexOver visitOver(org.apache.calcite.rex.RexOver over)
      Specified by:
      visitOver in interface org.apache.calcite.rex.RexVisitor<org.apache.calcite.rex.RexNode>
      Overrides:
      visitOver in class org.apache.calcite.rex.RexVisitorImpl<org.apache.calcite.rex.RexNode>
    • visitCorrelVariable

      public org.apache.calcite.rex.RexCorrelVariable visitCorrelVariable(org.apache.calcite.rex.RexCorrelVariable correlVariable)
      Specified by:
      visitCorrelVariable in interface org.apache.calcite.rex.RexVisitor<org.apache.calcite.rex.RexNode>
      Overrides:
      visitCorrelVariable in class org.apache.calcite.rex.RexVisitorImpl<org.apache.calcite.rex.RexNode>
    • visitDynamicParam

      public org.apache.calcite.rex.RexDynamicParam visitDynamicParam(org.apache.calcite.rex.RexDynamicParam dynamicParam)
      Specified by:
      visitDynamicParam in interface org.apache.calcite.rex.RexVisitor<org.apache.calcite.rex.RexNode>
      Overrides:
      visitDynamicParam in class org.apache.calcite.rex.RexVisitorImpl<org.apache.calcite.rex.RexNode>
    • visitRangeRef

      public org.apache.calcite.rex.RexRangeRef visitRangeRef(org.apache.calcite.rex.RexRangeRef rangeRef)
      Specified by:
      visitRangeRef in interface org.apache.calcite.rex.RexVisitor<org.apache.calcite.rex.RexNode>
      Overrides:
      visitRangeRef in class org.apache.calcite.rex.RexVisitorImpl<org.apache.calcite.rex.RexNode>
    • visitFieldAccess

      public org.apache.calcite.rex.RexFieldAccess visitFieldAccess(org.apache.calcite.rex.RexFieldAccess fieldAccess)
      Specified by:
      visitFieldAccess in interface org.apache.calcite.rex.RexVisitor<org.apache.calcite.rex.RexNode>
      Overrides:
      visitFieldAccess in class org.apache.calcite.rex.RexVisitorImpl<org.apache.calcite.rex.RexNode>
    • visitSubQuery

      public org.apache.calcite.rex.RexSubQuery visitSubQuery(org.apache.calcite.rex.RexSubQuery subQuery)
      Specified by:
      visitSubQuery in interface org.apache.calcite.rex.RexVisitor<org.apache.calcite.rex.RexNode>
      Overrides:
      visitSubQuery in class org.apache.calcite.rex.RexVisitorImpl<org.apache.calcite.rex.RexNode>
    • visitTableInputRef

      public org.apache.calcite.rex.RexTableInputRef visitTableInputRef(org.apache.calcite.rex.RexTableInputRef fieldRef)
      Specified by:
      visitTableInputRef in interface org.apache.calcite.rex.RexVisitor<org.apache.calcite.rex.RexNode>
      Overrides:
      visitTableInputRef in class org.apache.calcite.rex.RexVisitorImpl<org.apache.calcite.rex.RexNode>
    • visitPatternFieldRef

      public org.apache.calcite.rex.RexPatternFieldRef visitPatternFieldRef(org.apache.calcite.rex.RexPatternFieldRef fieldRef)
      Specified by:
      visitPatternFieldRef in interface org.apache.calcite.rex.RexVisitor<org.apache.calcite.rex.RexNode>
      Overrides:
      visitPatternFieldRef in class org.apache.calcite.rex.RexVisitorImpl<org.apache.calcite.rex.RexNode>