org.eigenbase.rex
Class RexUtil.ExpressionNormalizer
java.lang.Object
org.eigenbase.rex.RexVisitorImpl<RexNode>
org.eigenbase.rex.RexUtil.ExpressionNormalizer
- All Implemented Interfaces:
- RexVisitor<RexNode>
- Enclosing class:
- RexUtil
private static class RexUtil.ExpressionNormalizer
- extends RexVisitorImpl<RexNode>
Walks over expressions and builds a bank of common sub-expressions.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
mapDigestToExpr
final Map<String,RexNode> mapDigestToExpr
allowDups
final boolean allowDups
RexUtil.ExpressionNormalizer
protected RexUtil.ExpressionNormalizer(boolean allowDups)
register
protected RexNode register(RexNode expr)
lookup
protected RexNode lookup(RexNode expr)
visitInputRef
public RexNode visitInputRef(RexInputRef inputRef)
- Specified by:
visitInputRef
in interface RexVisitor<RexNode>
- Overrides:
visitInputRef
in class RexVisitorImpl<RexNode>
visitLiteral
public RexNode visitLiteral(RexLiteral literal)
- Specified by:
visitLiteral
in interface RexVisitor<RexNode>
- Overrides:
visitLiteral
in class RexVisitorImpl<RexNode>
visitCorrelVariable
public RexNode visitCorrelVariable(RexCorrelVariable correlVariable)
- Specified by:
visitCorrelVariable
in interface RexVisitor<RexNode>
- Overrides:
visitCorrelVariable
in class RexVisitorImpl<RexNode>
visitCall
public RexNode visitCall(RexCall call)
- Specified by:
visitCall
in interface RexVisitor<RexNode>
- Overrides:
visitCall
in class RexVisitorImpl<RexNode>
visitDynamicParam
public RexNode visitDynamicParam(RexDynamicParam dynamicParam)
- Specified by:
visitDynamicParam
in interface RexVisitor<RexNode>
- Overrides:
visitDynamicParam
in class RexVisitorImpl<RexNode>
visitRangeRef
public RexNode visitRangeRef(RexRangeRef rangeRef)
- Specified by:
visitRangeRef
in interface RexVisitor<RexNode>
- Overrides:
visitRangeRef
in class RexVisitorImpl<RexNode>
visitFieldAccess
public RexNode visitFieldAccess(RexFieldAccess fieldAccess)
- Specified by:
visitFieldAccess
in interface RexVisitor<RexNode>
- Overrides:
visitFieldAccess
in class RexVisitorImpl<RexNode>