public class RexSubQuery extends RexCall
| Modifier and Type | Method and Description |
|---|---|
<R,P> R |
accept(RexBiVisitor<R,P> visitor,
P arg)
Accepts a visitor with a payload, dispatching to the right overloaded
RexBiVisitor.visitInputRef(RexInputRef, Object) visitXxx} method. |
<R> R |
accept(RexVisitor<R> visitor)
Accepts a visitor, dispatching to the right overloaded
visitXxx method. |
RexSubQuery |
clone(RelDataType type,
List<RexNode> operands)
Creates a new call to the same operator with different operands.
|
RexSubQuery |
clone(RelNode rel) |
protected String |
computeDigest(boolean withType) |
boolean |
equals(Object obj)
Every node must implement
RexNode.equals(java.lang.Object) based on its content |
static RexSubQuery |
exists(RelNode rel)
Creates an EXISTS sub-query.
|
int |
hashCode()
Every node must implement
RexNode.hashCode() consistent with
RexNode.equals(java.lang.Object) |
static RexSubQuery |
in(RelNode rel,
com.google.common.collect.ImmutableList<RexNode> nodes)
Creates an IN sub-query.
|
static RexSubQuery |
scalar(RelNode rel)
Creates a scalar sub-query.
|
static RexSubQuery |
some(RelNode rel,
com.google.common.collect.ImmutableList<RexNode> nodes,
SqlQuantifyOperator op)
Creates a SOME sub-query.
|
appendOperands, getKind, getOperands, getOperator, getType, isAlwaysFalse, isAlwaysTrue, nodeCount, toStringpublic final RelNode rel
public static RexSubQuery in(RelNode rel, com.google.common.collect.ImmutableList<RexNode> nodes)
public static RexSubQuery some(RelNode rel, com.google.common.collect.ImmutableList<RexNode> nodes, SqlQuantifyOperator op)
There is no ALL. For x comparison ALL (sub-query) use instead
NOT (x inverse-comparison SOME (sub-query)).
If comparison is >
then negated-comparison is <=, and so forth.
Also =SOME is rewritten into IN
public static RexSubQuery exists(RelNode rel)
public static RexSubQuery scalar(RelNode rel)
public <R> R accept(RexVisitor<R> visitor)
RexNodevisitXxx method.
Also see RexUtil.apply(RexVisitor, java.util.List, RexNode),
which applies a visitor to several expressions simultaneously.
public <R,P> R accept(RexBiVisitor<R,P> visitor, P arg)
RexNodeRexBiVisitor.visitInputRef(RexInputRef, Object) visitXxx} method.@Nonnull protected String computeDigest(boolean withType)
computeDigest in class RexCallpublic RexSubQuery clone(RelDataType type, List<RexNode> operands)
RexCallpublic RexSubQuery clone(RelNode rel)
public boolean equals(Object obj)
RexNodeEvery node must implement RexNode.equals(java.lang.Object) based on its content
public int hashCode()
RexNodeEvery node must implement RexNode.hashCode() consistent with
RexNode.equals(java.lang.Object)
Copyright © 2012-2020 Apache Software Foundation. All Rights Reserved.