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>