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. |
static RexSubQuery |
array(RelNode rel)
Creates an ARRAY sub-query.
|
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(@Nullable Object obj) |
static RexSubQuery |
exists(RelNode rel)
Creates an EXISTS sub-query.
|
int |
hashCode() |
static RexSubQuery |
in(RelNode rel,
com.google.common.collect.ImmutableList<RexNode> nodes)
Creates an IN sub-query.
|
static RexSubQuery |
map(RelNode rel)
Creates a MAP sub-query.
|
static RexSubQuery |
multiset(RelNode rel)
Creates a MULTISET 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.
|
static RexSubQuery |
unique(RelNode rel)
Creates an UNIQUE 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 unique(RelNode rel)
public static RexSubQuery scalar(RelNode rel)
public static RexSubQuery array(RelNode rel)
public static RexSubQuery multiset(RelNode rel)
public static RexSubQuery map(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.protected String computeDigest(boolean withType)
computeDigest in class RexCallpublic RexSubQuery clone(RelDataType type, List<RexNode> operands)
RexCallpublic RexSubQuery clone(RelNode rel)
public boolean equals(@Nullable 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-2022 Apache Software Foundation. All Rights Reserved.