net.sf.farrago.fennel.rel
Class CalcRelSplitter.MaxInputFinder

java.lang.Object
  extended by org.eigenbase.rex.RexVisitorImpl<Void>
      extended by net.sf.farrago.fennel.rel.CalcRelSplitter.MaxInputFinder
All Implemented Interfaces:
RexVisitor<Void>
Enclosing class:
CalcRelSplitter

private static class CalcRelSplitter.MaxInputFinder
extends RexVisitorImpl<Void>

Finds the highest level used by any of the inputs of a given expression.


Field Summary
private  int[] exprLevels
           
(package private)  int level
           
 
Fields inherited from class org.eigenbase.rex.RexVisitorImpl
deep
 
Constructor Summary
CalcRelSplitter.MaxInputFinder(int[] exprLevels)
           
 
Method Summary
 int maxInputFor(RexNode expr)
          Returns the highest level of any of the inputs of an expression.
 Void visitLocalRef(RexLocalRef localRef)
           
 
Methods inherited from class org.eigenbase.rex.RexVisitorImpl
visitArrayAnd, visitArrayOr, visitCall, visitCorrelVariable, visitDynamicParam, visitFieldAccess, visitInputRef, visitLiteral, visitOver, visitRangeRef
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

level

int level

exprLevels

private final int[] exprLevels
Constructor Detail

CalcRelSplitter.MaxInputFinder

CalcRelSplitter.MaxInputFinder(int[] exprLevels)
Method Detail

visitLocalRef

public Void visitLocalRef(RexLocalRef localRef)
Specified by:
visitLocalRef in interface RexVisitor<Void>
Overrides:
visitLocalRef in class RexVisitorImpl<Void>

maxInputFor

public int maxInputFor(RexNode expr)
Returns the highest level of any of the inputs of an expression.