public class LogicVisitor extends RexUnaryBiVisitor<RelOptUtil.Logic>
RexNode objects.deep| Modifier and Type | Method and Description |
|---|---|
static void |
collect(RexNode node,
RexNode seek,
RelOptUtil.Logic logic,
List<RelOptUtil.Logic> logicList) |
protected @Nullable RelOptUtil.Logic |
end(RexNode node,
@Nullable RelOptUtil.Logic arg)
Called as the last action of, and providing the result for,
each
visitXxx method; derived classes may override. |
static RelOptUtil.Logic |
find(RelOptUtil.Logic logic,
List<RexNode> nodes,
RexNode seek)
Finds a suitable logic for evaluating
seek within a list of
expressions. |
@Nullable RelOptUtil.Logic |
visitCall(RexCall call,
@Nullable RelOptUtil.Logic logic) |
@Nullable RelOptUtil.Logic |
visitFieldAccess(RexFieldAccess fieldAccess,
@Nullable RelOptUtil.Logic arg) |
@Nullable RelOptUtil.Logic |
visitOver(RexOver over,
@Nullable RelOptUtil.Logic arg) |
@Nullable RelOptUtil.Logic |
visitSubQuery(RexSubQuery subQuery,
@Nullable RelOptUtil.Logic arg) |
visitCorrelVariable, visitDynamicParam, visitInputRef, visitLiteral, visitLocalRef, visitPatternFieldRef, visitRangeRef, visitTableInputRefclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitvisitEach, visitEachIndexed, visitList, visitListpublic static RelOptUtil.Logic find(RelOptUtil.Logic logic, List<RexNode> nodes, RexNode seek)
seek within 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).
public static void collect(RexNode node, RexNode seek, RelOptUtil.Logic logic, List<RelOptUtil.Logic> logicList)
public @Nullable RelOptUtil.Logic visitCall(RexCall call, @Nullable RelOptUtil.Logic logic)
visitCall in interface RexBiVisitor<RelOptUtil.Logic,RelOptUtil.Logic>visitCall in class RexUnaryBiVisitor<RelOptUtil.Logic>protected @Nullable RelOptUtil.Logic end(RexNode node, @Nullable RelOptUtil.Logic arg)
RexUnaryBiVisitorvisitXxx method; derived classes may override.end in class RexUnaryBiVisitor<RelOptUtil.Logic>public @Nullable RelOptUtil.Logic visitOver(RexOver over, @Nullable RelOptUtil.Logic arg)
visitOver in interface RexBiVisitor<RelOptUtil.Logic,RelOptUtil.Logic>visitOver in class RexUnaryBiVisitor<RelOptUtil.Logic>public @Nullable RelOptUtil.Logic visitFieldAccess(RexFieldAccess fieldAccess, @Nullable RelOptUtil.Logic arg)
visitFieldAccess in interface RexBiVisitor<RelOptUtil.Logic,RelOptUtil.Logic>visitFieldAccess in class RexUnaryBiVisitor<RelOptUtil.Logic>public @Nullable RelOptUtil.Logic visitSubQuery(RexSubQuery subQuery, @Nullable RelOptUtil.Logic arg)
visitSubQuery in interface RexBiVisitor<RelOptUtil.Logic,RelOptUtil.Logic>visitSubQuery in class RexUnaryBiVisitor<RelOptUtil.Logic>Copyright © 2012-2022 Apache Software Foundation. All Rights Reserved.