public class LogicVisitor extends java.lang.Object implements RexBiVisitor<RelOptUtil.Logic,RelOptUtil.Logic>
RexNode
objects.Modifier and Type | Field and Description |
---|---|
private java.util.Collection<RelOptUtil.Logic> |
logicCollection |
private RexNode |
seek |
Modifier | Constructor and Description |
---|---|
private |
LogicVisitor(RexNode seek,
java.util.Collection<RelOptUtil.Logic> logicCollection)
Creates a LogicVisitor.
|
private final RexNode seek
private final java.util.Collection<RelOptUtil.Logic> logicCollection
private LogicVisitor(RexNode seek, java.util.Collection<RelOptUtil.Logic> logicCollection)
public static RelOptUtil.Logic find(RelOptUtil.Logic logic, java.util.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, java.util.List<RelOptUtil.Logic> logicList)
public RelOptUtil.Logic visitCall(RexCall call, RelOptUtil.Logic logic)
visitCall
in interface RexBiVisitor<RelOptUtil.Logic,RelOptUtil.Logic>
private RelOptUtil.Logic end(RexNode node, RelOptUtil.Logic arg)
public RelOptUtil.Logic visitInputRef(RexInputRef inputRef, RelOptUtil.Logic arg)
visitInputRef
in interface RexBiVisitor<RelOptUtil.Logic,RelOptUtil.Logic>
public RelOptUtil.Logic visitLocalRef(RexLocalRef localRef, RelOptUtil.Logic arg)
visitLocalRef
in interface RexBiVisitor<RelOptUtil.Logic,RelOptUtil.Logic>
public RelOptUtil.Logic visitLiteral(RexLiteral literal, RelOptUtil.Logic arg)
visitLiteral
in interface RexBiVisitor<RelOptUtil.Logic,RelOptUtil.Logic>
public RelOptUtil.Logic visitOver(RexOver over, RelOptUtil.Logic arg)
visitOver
in interface RexBiVisitor<RelOptUtil.Logic,RelOptUtil.Logic>
public RelOptUtil.Logic visitCorrelVariable(RexCorrelVariable correlVariable, RelOptUtil.Logic arg)
visitCorrelVariable
in interface RexBiVisitor<RelOptUtil.Logic,RelOptUtil.Logic>
public RelOptUtil.Logic visitDynamicParam(RexDynamicParam dynamicParam, RelOptUtil.Logic arg)
visitDynamicParam
in interface RexBiVisitor<RelOptUtil.Logic,RelOptUtil.Logic>
public RelOptUtil.Logic visitRangeRef(RexRangeRef rangeRef, RelOptUtil.Logic arg)
visitRangeRef
in interface RexBiVisitor<RelOptUtil.Logic,RelOptUtil.Logic>
public RelOptUtil.Logic visitFieldAccess(RexFieldAccess fieldAccess, RelOptUtil.Logic arg)
visitFieldAccess
in interface RexBiVisitor<RelOptUtil.Logic,RelOptUtil.Logic>
public RelOptUtil.Logic visitSubQuery(RexSubQuery subQuery, RelOptUtil.Logic arg)
visitSubQuery
in interface RexBiVisitor<RelOptUtil.Logic,RelOptUtil.Logic>
public RelOptUtil.Logic visitTableInputRef(RexTableInputRef ref, RelOptUtil.Logic arg)
visitTableInputRef
in interface RexBiVisitor<RelOptUtil.Logic,RelOptUtil.Logic>
public RelOptUtil.Logic visitPatternFieldRef(RexPatternFieldRef ref, RelOptUtil.Logic arg)
visitPatternFieldRef
in interface RexBiVisitor<RelOptUtil.Logic,RelOptUtil.Logic>
Copyright © 2012–2019 The Apache Software Foundation. All rights reserved.