Package org.apache.calcite.rex
Class RexPermuteInputsShuttle
java.lang.Object
org.apache.calcite.rex.RexShuttle
org.apache.calcite.rex.RexPermuteInputsShuttle
- All Implemented Interfaces:
RexVisitor<RexNode>
Shuttle which applies a permutation to its input fields.
-
Constructor Summary
ConstructorDescriptionRexPermuteInputsShuttle
(Mappings.TargetMapping mapping, RelNode... inputs) Creates a RexPermuteInputsShuttle. -
Method Summary
Modifier and TypeMethodDescriptionstatic RexPermuteInputsShuttle
of
(Mappings.TargetMapping mapping) Creates a shuttle with an empty field list.visitInputRef
(RexInputRef local) Methods inherited from class org.apache.calcite.rex.RexShuttle
apply, apply, mutate, visitArray, visitCorrelVariable, visitDynamicParam, visitFieldAccess, visitFieldCollations, visitLambda, visitLambdaRef, visitList, visitLiteral, visitLocalRef, visitOver, visitOverAggFunction, visitPatternFieldRef, visitRangeRef, visitSubQuery, visitTableInputRef, visitWindow
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
-
RexPermuteInputsShuttle
Creates a RexPermuteInputsShuttle.The mapping provides at most one target for every source. If a source has no targets and is referenced in the expression,
Mappings.TargetMapping.getTarget(int)
will give an error. Otherwise the mapping gives a unique target.- Parameters:
mapping
- Mappinginputs
- Input relational expressions
-
-
Method Details
-
of
Creates a shuttle with an empty field list. It cannot handle GET calls but otherwise works OK. -
visitInputRef
- Specified by:
visitInputRef
in interfaceRexVisitor<RexNode>
- Overrides:
visitInputRef
in classRexShuttle
-
visitCall
- Specified by:
visitCall
in interfaceRexVisitor<RexNode>
- Overrides:
visitCall
in classRexShuttle
-