public class RexSubQuery extends RexCall
| Modifier | Constructor and Description |
|---|---|
private |
RexSubQuery(RelDataType type,
SqlOperator op,
com.google.common.collect.ImmutableList<RexNode> operands,
RelNode rel) |
| 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) |
static RexSubQuery |
exists(RelNode rel)
Creates an EXISTS sub-query.
|
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.
|
(package private) static RelDataType |
type(RelNode rel,
com.google.common.collect.ImmutableList<RexNode> nodes) |
getKind, getOperands, getOperator, getType, isAlwaysFalse, isAlwaysTrue, toStringpublic final RelNode rel
private RexSubQuery(RelDataType type, SqlOperator op, com.google.common.collect.ImmutableList<RexNode> operands, 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.
static RelDataType type(RelNode rel, com.google.common.collect.ImmutableList<RexNode> nodes)
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.protected String computeDigest(boolean withType)
computeDigest in class RexCallpublic RexSubQuery clone(RelDataType type, List<RexNode> operands)
RexCallpublic RexSubQuery clone(RelNode rel)
Copyright © 2012–2018 The Apache Software Foundation. All rights reserved.