Package com.twilio.kudu.sql.rel
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 -
Method Summary
Modifier and TypeMethodDescriptionLinkedHashMap<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 functionsorg.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 interfaceorg.apache.calcite.rex.RexVisitor<org.apache.calcite.rex.RexNode>
- Overrides:
visitInputRef
in classorg.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 interfaceorg.apache.calcite.rex.RexVisitor<org.apache.calcite.rex.RexNode>
- Overrides:
visitCall
in classorg.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 interfaceorg.apache.calcite.rex.RexVisitor<org.apache.calcite.rex.RexNode>
- Overrides:
visitLocalRef
in classorg.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 interfaceorg.apache.calcite.rex.RexVisitor<org.apache.calcite.rex.RexNode>
- Overrides:
visitLiteral
in classorg.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 interfaceorg.apache.calcite.rex.RexVisitor<org.apache.calcite.rex.RexNode>
- Overrides:
visitOver
in classorg.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 interfaceorg.apache.calcite.rex.RexVisitor<org.apache.calcite.rex.RexNode>
- Overrides:
visitCorrelVariable
in classorg.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 interfaceorg.apache.calcite.rex.RexVisitor<org.apache.calcite.rex.RexNode>
- Overrides:
visitDynamicParam
in classorg.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 interfaceorg.apache.calcite.rex.RexVisitor<org.apache.calcite.rex.RexNode>
- Overrides:
visitRangeRef
in classorg.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 interfaceorg.apache.calcite.rex.RexVisitor<org.apache.calcite.rex.RexNode>
- Overrides:
visitFieldAccess
in classorg.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 interfaceorg.apache.calcite.rex.RexVisitor<org.apache.calcite.rex.RexNode>
- Overrides:
visitSubQuery
in classorg.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 interfaceorg.apache.calcite.rex.RexVisitor<org.apache.calcite.rex.RexNode>
- Overrides:
visitTableInputRef
in classorg.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 interfaceorg.apache.calcite.rex.RexVisitor<org.apache.calcite.rex.RexNode>
- Overrides:
visitPatternFieldRef
in classorg.apache.calcite.rex.RexVisitorImpl<org.apache.calcite.rex.RexNode>
-