public class CalciteCnfHelper extends Object
| Modifier and Type | Method and Description |
|---|---|
static Filter |
composeConjunction(Iterable<? extends Filter> nodes)
As
composeConjunction(Iterable, boolean) but never
returns null. |
static Filter |
composeConjunction(Iterable<? extends Filter> nodes,
boolean nullOnEmpty)
Converts a collection of expressions into an AND.
|
static Filter |
composeDisjunction(Iterable<? extends Filter> nodes)
Converts a collection of expressions into an OR.
|
static Filter |
composeDisjunction(Iterable<? extends Filter> nodes,
boolean nullOnEmpty)
Converts a collection of expressions into an OR,
optionally returning null if the list is empty.
|
static List<Filter> |
conjunctions(Filter rexPredicate)
Returns a condition decomposed by AND.
|
static void |
decomposeConjunction(Filter rexPredicate,
List<Filter> rexList)
Decomposes a predicate into a list of expressions that are AND'ed
together.
|
static com.google.common.collect.ImmutableList<Filter> |
flattenAnd(Iterable<? extends Filter> nodes)
Flattens a list of AND nodes.
|
static com.google.common.collect.ImmutableList<Filter> |
flattenOr(Iterable<? extends Filter> nodes)
Flattens a list of OR nodes.
|
static Filter |
pull(Filter rex) |
@Nonnull public static Filter composeConjunction(Iterable<? extends Filter> nodes)
composeConjunction(Iterable, boolean) but never
returns null.public static Filter composeConjunction(Iterable<? extends Filter> nodes, boolean nullOnEmpty)
nullOnEmpty and expression is TRUE.public static com.google.common.collect.ImmutableList<Filter> flattenAnd(Iterable<? extends Filter> nodes)
Treats null nodes as literal TRUE (i.e. ignores them).
@Nonnull public static Filter composeDisjunction(Iterable<? extends Filter> nodes)
public static Filter composeDisjunction(Iterable<? extends Filter> nodes, boolean nullOnEmpty)
public static com.google.common.collect.ImmutableList<Filter> flattenOr(Iterable<? extends Filter> nodes)
public static List<Filter> conjunctions(Filter rexPredicate)
For example, conjunctions(TRUE) returns the empty list;
conjunctions(FALSE) returns list {FALSE}.
Copyright © 2011–2020 The Apache Software Foundation. All rights reserved.