org.eigenbase.rex
Class RexMultisetUtil.RexCallMultisetOperatorCounter

java.lang.Object
  extended by org.eigenbase.rex.RexVisitorImpl<Void>
      extended by org.eigenbase.rex.RexMultisetUtil.RexCallMultisetOperatorCounter
All Implemented Interfaces:
RexVisitor<Void>
Enclosing class:
RexMultisetUtil

private static class RexMultisetUtil.RexCallMultisetOperatorCounter
extends RexVisitorImpl<Void>

A RexShuttle that traverse all RexNode and counts total number of RexCalls traversed and number of multiset calls traversed.

totalCount >= multisetCount always holds true.


Field Summary
(package private)  int multisetCount
           
(package private)  int totalCount
           
 
Fields inherited from class org.eigenbase.rex.RexVisitorImpl
deep
 
Constructor Summary
RexMultisetUtil.RexCallMultisetOperatorCounter()
           
 
Method Summary
(package private)  void reset()
           
 Void visitCall(RexCall call)
           
 
Methods inherited from class org.eigenbase.rex.RexVisitorImpl
visitArrayAnd, visitArrayOr, visitCorrelVariable, visitDynamicParam, visitFieldAccess, visitInputRef, visitLiteral, visitLocalRef, visitOver, visitRangeRef
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

totalCount

int totalCount

multisetCount

int multisetCount
Constructor Detail

RexMultisetUtil.RexCallMultisetOperatorCounter

RexMultisetUtil.RexCallMultisetOperatorCounter()
Method Detail

reset

void reset()

visitCall

public Void visitCall(RexCall call)
Specified by:
visitCall in interface RexVisitor<Void>
Overrides:
visitCall in class RexVisitorImpl<Void>