public class RexMultisetUtil extends Object
| Modifier and Type | Class and Description |
|---|---|
private static class |
RexMultisetUtil.RexCallMultisetOperatorCounter
A RexShuttle that traverse all RexNode and counts total number of
RexCalls traversed and number of multiset calls traversed.
|
| Modifier and Type | Field and Description |
|---|---|
private static Set<SqlOperator> |
MULTISET_OPERATORS
A set defining all implementable multiset calls
|
| Modifier | Constructor and Description |
|---|---|
private |
RexMultisetUtil() |
| Modifier and Type | Method and Description |
|---|---|
static boolean |
containsMixing(RexNode node)
Returns true if a node contains a mixing between multiset and
non-multiset calls.
|
static boolean |
containsMixing(RexProgram program)
Returns true if any expression in a program contains a mixing between
multiset and non-multiset calls.
|
static boolean |
containsMultiset(List<RexNode> nodes,
boolean deep)
Returns whether a list of expressions contains a multiset.
|
static boolean |
containsMultiset(RexNode node,
boolean deep)
Returns true if node contains a multiset operator, otherwise false.
|
static boolean |
containsMultiset(RexProgram program)
Returns whether a program contains a multiset.
|
static RexCall |
findFirstMultiset(RexNode node,
boolean deep)
Returns a reference to the first found multiset call or null if none was
found
|
static boolean |
isMultisetCast(RexCall call)
Returns true if
call is a call to CAST and the to/from
cast types are of multiset types. |
private static final Set<SqlOperator> MULTISET_OPERATORS
public static boolean containsMixing(RexProgram program)
public static boolean containsMixing(RexNode node)
public static boolean containsMultiset(RexNode node, boolean deep)
node - Expressiondeep - If true, returns whether expression contains a multiset. If
false, returns whether expression is a multiset.public static boolean containsMultiset(List<RexNode> nodes, boolean deep)
public static boolean containsMultiset(RexProgram program)
public static boolean isMultisetCast(RexCall call)
call is a call to CAST and the to/from
cast types are of multiset types.Copyright © 2012–2018 The Apache Software Foundation. All rights reserved.