Package org.apache.calcite.rel.rules
Class FilterRemoveIsNotDistinctFromRule.RemoveIsNotDistinctFromRexShuttle
- java.lang.Object
-
- org.apache.calcite.rex.RexShuttle
-
- org.apache.calcite.rel.rules.FilterRemoveIsNotDistinctFromRule.RemoveIsNotDistinctFromRexShuttle
-
- All Implemented Interfaces:
RexVisitor<RexNode>
- Enclosing class:
- FilterRemoveIsNotDistinctFromRule
private class FilterRemoveIsNotDistinctFromRule.RemoveIsNotDistinctFromRexShuttle extends RexShuttle
Shuttle that removes 'x IS NOT DISTINCT FROM y' and converts it to 'CASE WHEN x IS NULL THEN y IS NULL WHEN y IS NULL THEN x IS NULL ELSE x = y END'.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) RexBuilder
rexBuilder
-
Constructor Summary
Constructors Constructor Description RemoveIsNotDistinctFromRexShuttle(RexBuilder rexBuilder)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RexNode
visitCall(RexCall call)
-
Methods inherited from class org.apache.calcite.rex.RexShuttle
apply, apply, apply, mutate, visitArray, visitCorrelVariable, visitDynamicParam, visitFieldAccess, visitFieldCollations, visitInputRef, visitList, visitList, visitLiteral, visitLocalRef, visitOver, visitPatternFieldRef, visitRangeRef, visitSubQuery, visitTableInputRef, visitWindow
-
-
-
-
Field Detail
-
rexBuilder
RexBuilder rexBuilder
-
-
Constructor Detail
-
RemoveIsNotDistinctFromRexShuttle
RemoveIsNotDistinctFromRexShuttle(RexBuilder rexBuilder)
-
-
Method Detail
-
visitCall
public RexNode visitCall(RexCall call)
- Specified by:
visitCall
in interfaceRexVisitor<RexNode>
- Overrides:
visitCall
in classRexShuttle
-
-