org.eigenbase.sql2rel
Class RelDecorrelator.RemoveCorrelationRexShuttle

java.lang.Object
  extended by org.eigenbase.rex.RexShuttle
      extended by org.eigenbase.sql2rel.RelDecorrelator.RemoveCorrelationRexShuttle
All Implemented Interfaces:
RexVisitor<RexNode>
Enclosing class:
RelDecorrelator

private class RelDecorrelator.RemoveCorrelationRexShuttle
extends RexShuttle


Field Summary
(package private)  Set<Integer> isCount
           
(package private)  RexInputRef nullIndicator
           
(package private)  boolean projectPulledAboveLeftCorrelator
           
(package private)  RexBuilder rexBuilder
           
(package private)  RelDataTypeFactory typeFactory
           
 
Constructor Summary
RelDecorrelator.RemoveCorrelationRexShuttle(RexBuilder rexBuilder, boolean projectPulledAboveLeftCorrelator)
           
RelDecorrelator.RemoveCorrelationRexShuttle(RexBuilder rexBuilder, boolean projectPulledAboveLeftCorrelator, RexInputRef nullIndicator)
           
RelDecorrelator.RemoveCorrelationRexShuttle(RexBuilder rexBuilder, boolean projectPulledAboveLeftCorrelator, RexInputRef nullIndicator, Set<Integer> isCount)
           
RelDecorrelator.RemoveCorrelationRexShuttle(RexBuilder rexBuilder, boolean projectPulledAboveLeftCorrelator, Set<Integer> isCount)
           
 
Method Summary
private  RexNode createCaseExpression(RexInputRef nullInputRef, RexLiteral lit, RexNode rexNode)
           
 RexNode visitCall(RexCall call)
           
 RexNode visitFieldAccess(RexFieldAccess fieldAccess)
           
 RexNode visitInputRef(RexInputRef inputRef)
           
 RexNode visitLiteral(RexLiteral literal)
           
 
Methods inherited from class org.eigenbase.rex.RexShuttle
apply, apply, visitArray, visitCorrelVariable, visitDynamicParam, visitLocalRef, visitOver, visitRangeRef, visitWindow
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

rexBuilder

RexBuilder rexBuilder

typeFactory

RelDataTypeFactory typeFactory

projectPulledAboveLeftCorrelator

boolean projectPulledAboveLeftCorrelator

nullIndicator

RexInputRef nullIndicator

isCount

Set<Integer> isCount
Constructor Detail

RelDecorrelator.RemoveCorrelationRexShuttle

public RelDecorrelator.RemoveCorrelationRexShuttle(RexBuilder rexBuilder,
                                                   boolean projectPulledAboveLeftCorrelator)

RelDecorrelator.RemoveCorrelationRexShuttle

public RelDecorrelator.RemoveCorrelationRexShuttle(RexBuilder rexBuilder,
                                                   boolean projectPulledAboveLeftCorrelator,
                                                   RexInputRef nullIndicator)

RelDecorrelator.RemoveCorrelationRexShuttle

public RelDecorrelator.RemoveCorrelationRexShuttle(RexBuilder rexBuilder,
                                                   boolean projectPulledAboveLeftCorrelator,
                                                   Set<Integer> isCount)

RelDecorrelator.RemoveCorrelationRexShuttle

public RelDecorrelator.RemoveCorrelationRexShuttle(RexBuilder rexBuilder,
                                                   boolean projectPulledAboveLeftCorrelator,
                                                   RexInputRef nullIndicator,
                                                   Set<Integer> isCount)
Method Detail

createCaseExpression

private RexNode createCaseExpression(RexInputRef nullInputRef,
                                     RexLiteral lit,
                                     RexNode rexNode)

visitFieldAccess

public RexNode visitFieldAccess(RexFieldAccess fieldAccess)
Specified by:
visitFieldAccess in interface RexVisitor<RexNode>
Overrides:
visitFieldAccess in class RexShuttle

visitInputRef

public RexNode visitInputRef(RexInputRef inputRef)
Specified by:
visitInputRef in interface RexVisitor<RexNode>
Overrides:
visitInputRef in class RexShuttle

visitLiteral

public RexNode visitLiteral(RexLiteral literal)
Specified by:
visitLiteral in interface RexVisitor<RexNode>
Overrides:
visitLiteral in class RexShuttle

visitCall

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