Package org.apache.calcite.rel.rules
Class ReduceExpressionsRule.RexReplacer
- java.lang.Object
-
- org.apache.calcite.rex.RexShuttle
-
- org.apache.calcite.rel.rules.ReduceExpressionsRule.RexReplacer
-
- All Implemented Interfaces:
RexVisitor<RexNode>
- Enclosing class:
- ReduceExpressionsRule
protected static class ReduceExpressionsRule.RexReplacer extends RexShuttle
Replaces expressions with their reductions. Note that we only have to look for RexCall, since nothing else is reducible in the first place.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<java.lang.Boolean>
addCasts
private java.util.List<RexNode>
reducedValues
private java.util.List<RexNode>
reducibleExps
private RexSimplify
simplify
private RexUnknownAs
unknownAs
-
Constructor Summary
Constructors Constructor Description RexReplacer(RexSimplify simplify, RexUnknownAs unknownAs, java.util.List<RexNode> reducibleExps, java.util.List<RexNode> reducedValues, java.util.List<java.lang.Boolean> addCasts)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private RexNode
visit(RexNode call)
RexNode
visitCall(RexCall call)
RexNode
visitInputRef(RexInputRef inputRef)
-
Methods inherited from class org.apache.calcite.rex.RexShuttle
apply, apply, apply, mutate, visitArray, visitCorrelVariable, visitDynamicParam, visitFieldAccess, visitFieldCollations, visitList, visitList, visitLiteral, visitLocalRef, visitOver, visitPatternFieldRef, visitRangeRef, visitSubQuery, visitTableInputRef, visitWindow
-
-
-
-
Field Detail
-
simplify
private final RexSimplify simplify
-
unknownAs
private final RexUnknownAs unknownAs
-
reducibleExps
private final java.util.List<RexNode> reducibleExps
-
reducedValues
private final java.util.List<RexNode> reducedValues
-
addCasts
private final java.util.List<java.lang.Boolean> addCasts
-
-
Constructor Detail
-
RexReplacer
RexReplacer(RexSimplify simplify, RexUnknownAs unknownAs, java.util.List<RexNode> reducibleExps, java.util.List<RexNode> reducedValues, java.util.List<java.lang.Boolean> addCasts)
-
-
Method Detail
-
visitInputRef
public RexNode visitInputRef(RexInputRef inputRef)
- Specified by:
visitInputRef
in interfaceRexVisitor<RexNode>
- Overrides:
visitInputRef
in classRexShuttle
-
visitCall
public RexNode visitCall(RexCall call)
- Specified by:
visitCall
in interfaceRexVisitor<RexNode>
- Overrides:
visitCall
in classRexShuttle
-
-