public static enum RelOptUtil.Logic extends Enum<RelOptUtil.Logic>
| Enum Constant and Description |
|---|
FALSE
An anti-semi-join will have been applied, so that only rows for which
the value is FALSE will have been returned.
|
TRUE
A semi-join will have been applied, so that only rows for which the
value is TRUE will have been returned.
|
TRUE_FALSE
Nulls are not possible.
|
TRUE_FALSE_UNKNOWN
Three-valued boolean logic.
|
UNKNOWN_AS_FALSE
Two-valued logic where UNKNOWN is treated as FALSE.
|
UNKNOWN_AS_TRUE
Two-valued logic where UNKNOWN is treated as TRUE.
|
| Modifier and Type | Method and Description |
|---|---|
RelOptUtil.Logic |
negate() |
RelOptUtil.Logic |
negate2()
Variant of
negate() to be used within LogicVisitor,
where FALSE values may exist. |
static RelOptUtil.Logic |
valueOf(String name)
Returns the enum constant of this type with the specified name.
|
static RelOptUtil.Logic[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final RelOptUtil.Logic TRUE_FALSE_UNKNOWN
public static final RelOptUtil.Logic TRUE_FALSE
public static final RelOptUtil.Logic UNKNOWN_AS_FALSE
"x IS TRUE" produces the same result, and "WHERE x", "JOIN ... ON x" and "HAVING x" have the same effect.
public static final RelOptUtil.Logic UNKNOWN_AS_TRUE
"x IS FALSE" produces the same result, as does "WHERE NOT x", etc.
In particular, this is the mode used by "WHERE k NOT IN q". If "k IN q" produces TRUE or UNKNOWN, "NOT k IN q" produces FALSE or UNKNOWN and the row is eliminated; if "k IN q" it returns FALSE, the row is retained by the WHERE clause.
public static final RelOptUtil.Logic TRUE
public static final RelOptUtil.Logic FALSE
Currently only used within LogicVisitor, to ensure that
'NOT (NOT EXISTS (q))' behaves the same as 'EXISTS (q)')
public static RelOptUtil.Logic[] values()
for (RelOptUtil.Logic c : RelOptUtil.Logic.values()) System.out.println(c);
public static RelOptUtil.Logic valueOf(String name)
name - the name of the enum constant to be returned.IllegalArgumentException - if this enum type has no constant with the specified nameNullPointerException - if the argument is nullpublic RelOptUtil.Logic negate()
public RelOptUtil.Logic negate2()
negate() to be used within LogicVisitor,
where FALSE values may exist.Copyright © 2012-2022 Apache Software Foundation. All Rights Reserved.