Package org.apache.calcite.rel.rules
Class CalcRelSplitter.InputToCommonExprConverter
- java.lang.Object
-
- org.apache.calcite.rex.RexShuttle
-
- org.apache.calcite.rel.rules.CalcRelSplitter.InputToCommonExprConverter
-
- All Implemented Interfaces:
RexVisitor<RexNode>
- Enclosing class:
- CalcRelSplitter
private static class CalcRelSplitter.InputToCommonExprConverter extends RexShuttle
Shuttle which converts every reference to an input field in an expression to a reference to a common sub-expression.
-
-
Field Summary
Fields Modifier and Type Field Description private RexNode[]
allExprs
private int[]
exprInverseOrdinals
private int[]
exprLevels
private int[]
inputExprOrdinals
private int
level
-
Constructor Summary
Constructors Constructor Description InputToCommonExprConverter(int[] exprInverseOrdinals, int[] exprLevels, int level, int[] inputExprOrdinals, RexNode[] allExprs)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RexNode
visitInputRef(RexInputRef input)
RexNode
visitLocalRef(RexLocalRef local)
-
Methods inherited from class org.apache.calcite.rex.RexShuttle
apply, apply, apply, mutate, visitArray, visitCall, visitCorrelVariable, visitDynamicParam, visitFieldAccess, visitFieldCollations, visitList, visitList, visitLiteral, visitOver, visitPatternFieldRef, visitRangeRef, visitSubQuery, visitTableInputRef, visitWindow
-
-
-
-
Field Detail
-
exprInverseOrdinals
private final int[] exprInverseOrdinals
-
exprLevels
private final int[] exprLevels
-
level
private final int level
-
inputExprOrdinals
private final int[] inputExprOrdinals
-
allExprs
private final RexNode[] allExprs
-
-
Constructor Detail
-
InputToCommonExprConverter
InputToCommonExprConverter(int[] exprInverseOrdinals, int[] exprLevels, int level, int[] inputExprOrdinals, RexNode[] allExprs)
-
-
Method Detail
-
visitInputRef
public RexNode visitInputRef(RexInputRef input)
- Specified by:
visitInputRef
in interfaceRexVisitor<RexNode>
- Overrides:
visitInputRef
in classRexShuttle
-
visitLocalRef
public RexNode visitLocalRef(RexLocalRef local)
- Specified by:
visitLocalRef
in interfaceRexVisitor<RexNode>
- Overrides:
visitLocalRef
in classRexShuttle
-
-