Package org.apache.calcite.sql2rel
Class RelDecorrelator.RemoveCorrelationRexShuttle
- java.lang.Object
-
- org.apache.calcite.rex.RexShuttle
-
- org.apache.calcite.sql2rel.RelDecorrelator.RemoveCorrelationRexShuttle
-
- All Implemented Interfaces:
RexVisitor<RexNode>
- Enclosing class:
- RelDecorrelator
private class RelDecorrelator.RemoveCorrelationRexShuttle extends RexShuttle
Shuttle that removes correlations.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) com.google.common.collect.ImmutableSet<java.lang.Integer>
isCount
(package private) RexInputRef
nullIndicator
(package private) boolean
projectPulledAboveLeftCorrelator
(package private) RexBuilder
rexBuilder
(package private) RelDataTypeFactory
typeFactory
-
Constructor Summary
Constructors Constructor Description RemoveCorrelationRexShuttle(RexBuilder rexBuilder, boolean projectPulledAboveLeftCorrelator, RexInputRef nullIndicator, java.util.Set<java.lang.Integer> isCount)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.apache.calcite.rex.RexShuttle
apply, apply, apply, mutate, visitArray, visitCorrelVariable, visitDynamicParam, visitFieldCollations, visitList, visitList, visitLocalRef, visitOver, visitPatternFieldRef, visitRangeRef, visitSubQuery, visitTableInputRef, visitWindow
-
-
-
-
Field Detail
-
rexBuilder
final RexBuilder rexBuilder
-
typeFactory
final RelDataTypeFactory typeFactory
-
projectPulledAboveLeftCorrelator
final boolean projectPulledAboveLeftCorrelator
-
nullIndicator
final RexInputRef nullIndicator
-
isCount
final com.google.common.collect.ImmutableSet<java.lang.Integer> isCount
-
-
Constructor Detail
-
RemoveCorrelationRexShuttle
RemoveCorrelationRexShuttle(RexBuilder rexBuilder, boolean projectPulledAboveLeftCorrelator, RexInputRef nullIndicator, java.util.Set<java.lang.Integer> isCount)
-
-
Method Detail
-
createCaseExpression
private RexNode createCaseExpression(RexInputRef nullInputRef, RexLiteral lit, RexNode rexNode)
-
visitFieldAccess
public RexNode visitFieldAccess(RexFieldAccess fieldAccess)
- Specified by:
visitFieldAccess
in interfaceRexVisitor<RexNode>
- Overrides:
visitFieldAccess
in classRexShuttle
-
visitInputRef
public RexNode visitInputRef(RexInputRef inputRef)
- Specified by:
visitInputRef
in interfaceRexVisitor<RexNode>
- Overrides:
visitInputRef
in classRexShuttle
-
visitLiteral
public RexNode visitLiteral(RexLiteral literal)
- Specified by:
visitLiteral
in interfaceRexVisitor<RexNode>
- Overrides:
visitLiteral
in classRexShuttle
-
visitCall
public RexNode visitCall(RexCall call)
- Specified by:
visitCall
in interfaceRexVisitor<RexNode>
- Overrides:
visitCall
in classRexShuttle
-
-