Package org.apache.calcite.rex
Class LogicVisitor
java.lang.Object
org.apache.calcite.rex.RexBiVisitorImpl<R,R>
org.apache.calcite.rex.RexUnaryBiVisitor<@Nullable RelOptUtil.Logic>
org.apache.calcite.rex.LogicVisitor
- All Implemented Interfaces:
RexBiVisitor<RelOptUtil.Logic,RelOptUtil.Logic>
Visitor pattern for traversing a tree of
RexNode objects.-
Field Summary
Fields inherited from class org.apache.calcite.rex.RexBiVisitorImpl
deep -
Method Summary
Modifier and TypeMethodDescriptionstatic voidcollect(RexNode node, RexNode seek, RelOptUtil.Logic logic, List<RelOptUtil.Logic> logicList) protected @Nullable RelOptUtil.Logicend(RexNode node, @Nullable RelOptUtil.Logic arg) Called as the last action of, and providing the result for, eachvisitXxxmethod; derived classes may override.static RelOptUtil.Logicfind(RelOptUtil.Logic logic, List<RexNode> nodes, RexNode seek) Finds a suitable logic for evaluatingseekwithin a list of expressions.@Nullable RelOptUtil.LogicvisitCall(RexCall call, @Nullable RelOptUtil.Logic logic) @Nullable RelOptUtil.LogicvisitFieldAccess(RexFieldAccess fieldAccess, @Nullable RelOptUtil.Logic arg) @Nullable RelOptUtil.LogicvisitOver(RexOver over, @Nullable RelOptUtil.Logic arg) @Nullable RelOptUtil.LogicvisitSubQuery(RexSubQuery subQuery, @Nullable RelOptUtil.Logic arg) Methods inherited from class org.apache.calcite.rex.RexUnaryBiVisitor
visitCorrelVariable, visitDynamicParam, visitInputRef, visitLiteral, visitLocalRef, visitNodeAndFieldIndex, visitPatternFieldRef, visitRangeRef, visitTableInputRefMethods inherited from class org.apache.calcite.rex.RexBiVisitorImpl
visitLambdaMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.calcite.rex.RexBiVisitor
visitEach, visitEachIndexed, visitList, visitList
-
Method Details
-
find
Finds a suitable logic for evaluatingseekwithin a list of expressions.Chooses a logic that is safe (that is, gives the right answer) with the fewest possibilities (that is, we prefer one that returns [true as true, false as false, unknown as false] over one that distinguishes false from unknown).
-
collect
public static void collect(RexNode node, RexNode seek, RelOptUtil.Logic logic, List<RelOptUtil.Logic> logicList) -
visitCall
- Specified by:
visitCallin interfaceRexBiVisitor<RelOptUtil.Logic,RelOptUtil.Logic> - Overrides:
visitCallin classRexUnaryBiVisitor<@Nullable RelOptUtil.Logic>
-
end
Description copied from class:RexUnaryBiVisitorCalled as the last action of, and providing the result for, eachvisitXxxmethod; derived classes may override.- Overrides:
endin classRexUnaryBiVisitor<@Nullable RelOptUtil.Logic>
-
visitOver
- Specified by:
visitOverin interfaceRexBiVisitor<RelOptUtil.Logic,RelOptUtil.Logic> - Overrides:
visitOverin classRexUnaryBiVisitor<@Nullable RelOptUtil.Logic>
-
visitFieldAccess
public @Nullable RelOptUtil.Logic visitFieldAccess(RexFieldAccess fieldAccess, @Nullable RelOptUtil.Logic arg) - Specified by:
visitFieldAccessin interfaceRexBiVisitor<RelOptUtil.Logic,RelOptUtil.Logic> - Overrides:
visitFieldAccessin classRexUnaryBiVisitor<@Nullable RelOptUtil.Logic>
-
visitSubQuery
public @Nullable RelOptUtil.Logic visitSubQuery(RexSubQuery subQuery, @Nullable RelOptUtil.Logic arg) - Specified by:
visitSubQueryin interfaceRexBiVisitor<RelOptUtil.Logic,RelOptUtil.Logic> - Overrides:
visitSubQueryin classRexUnaryBiVisitor<@Nullable RelOptUtil.Logic>
-