public class Strong extends Object
A predicate is strong (or null-rejecting) if it is UNKNOWN if any of its inputs is UNKNOWN.
By the way, UNKNOWN is just the boolean form of NULL.
Examples:
UNKNOWN is strong
c = 1 is strong
c IS NULL is not strong. (It always returns TRUE or FALSE.)
p1 AND p2 is strong if p1 or p2 are strong
p1 OR p2 is strong if p1 and p2 are strong
c1 = 1 OR c2 IS NULL is strong on c1 but not c2
| Modifier and Type | Method and Description |
|---|---|
static boolean |
is(RexNode node,
ImmutableBitSet nullColumns)
Returns whether the analyzed expression will return null if a given set
of input columns are null.
|
static Strong |
of(ImmutableBitSet nullColumns) |
public static Strong of(ImmutableBitSet nullColumns)
public static boolean is(RexNode node, ImmutableBitSet nullColumns)
Copyright © 2012–2015 The Apache Software Foundation. All rights reserved.