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

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

private static class CalcRelSplitter.HighestUsageFinder
extends RexVisitorImpl<Void>

Builds an array of the highest level which contains an expression which uses each expression as an input.


Field Summary
private  int currentLevel
           
private  int[] maxUsingLevelOrdinals
           
 
Fields inherited from class org.eigenbase.rex.RexVisitorImpl
deep
 
Constructor Summary
CalcRelSplitter.HighestUsageFinder(RexNode[] exprs, int[] exprLevels)
           
 
Method Summary
 int[] getMaxUsingLevelOrdinals()
           
 Void visitLocalRef(RexLocalRef ref)
           
 
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

maxUsingLevelOrdinals

private final int[] maxUsingLevelOrdinals

currentLevel

private int currentLevel
Constructor Detail

CalcRelSplitter.HighestUsageFinder

public CalcRelSplitter.HighestUsageFinder(RexNode[] exprs,
                                          int[] exprLevels)
Method Detail

getMaxUsingLevelOrdinals

public int[] getMaxUsingLevelOrdinals()

visitLocalRef

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