net.sf.farrago.query
Class FarragoReduceExpressionsRule.RexReplacer
java.lang.Object
org.eigenbase.rex.RexShuttle
net.sf.farrago.query.FarragoReduceExpressionsRule.RexReplacer
- All Implemented Interfaces:
- RexVisitor<RexNode>
- Enclosing class:
- FarragoReduceExpressionsRule
private static class FarragoReduceExpressionsRule.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.
Methods inherited from class org.eigenbase.rex.RexShuttle |
apply, apply, visitArray, visitCorrelVariable, visitDynamicParam, visitFieldAccess, visitInputRef, visitLiteral, visitLocalRef, visitOver, visitRangeRef, visitWindow |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
rexBuilder
private final RexBuilder rexBuilder
reducibleExps
private final List<RexNode> reducibleExps
reducedValues
private final List<RexNode> reducedValues
addCasts
private final List<Boolean> addCasts
FarragoReduceExpressionsRule.RexReplacer
FarragoReduceExpressionsRule.RexReplacer(RexBuilder rexBuilder,
List<RexNode> reducibleExps,
List<RexNode> reducedValues,
List<Boolean> addCasts)
visitCall
public RexNode visitCall(RexCall call)
- Specified by:
visitCall
in interface RexVisitor<RexNode>
- Overrides:
visitCall
in class RexShuttle