Package org.apache.calcite.plan
Enum RelOptUtil.Logic
- All Implemented Interfaces:
- Serializable,- Comparable<RelOptUtil.Logic>,- Constable
- Enclosing class:
- RelOptUtil
Policies for handling two- and three-valued boolean logic.
- 
Nested Class SummaryNested classes/interfaces inherited from class java.lang.EnumEnum.EnumDesc<E extends Enum<E>>
- 
Enum Constant SummaryEnum ConstantsEnum ConstantDescriptionAn anti-semi-join will have been applied, so that only rows for which the value is FALSE will have been returned.A semi-join will have been applied, so that only rows for which the value is TRUE will have been returned.Nulls are not possible.Three-valued boolean logic.Two-valued logic where UNKNOWN is treated as FALSE.Two-valued logic where UNKNOWN is treated as TRUE.
- 
Method SummaryModifier and TypeMethodDescriptionnegate()negate2()Variant ofnegate()to be used withinLogicVisitor, where FALSE values may exist.static RelOptUtil.LogicReturns 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.
- 
Enum Constant Details- 
TRUE_FALSE_UNKNOWNThree-valued boolean logic.
- 
TRUE_FALSENulls are not possible.
- 
UNKNOWN_AS_FALSETwo-valued logic where UNKNOWN is treated as FALSE."x IS TRUE" produces the same result, and "WHERE x", "JOIN ... ON x" and "HAVING x" have the same effect. 
- 
UNKNOWN_AS_TRUETwo-valued logic where UNKNOWN is treated 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. 
- 
TRUEA semi-join will have been applied, so that only rows for which the value is TRUE will have been returned.
- 
FALSEAn anti-semi-join will have been applied, so that only rows for which the value is FALSE will have been returned.Currently only used within LogicVisitor, to ensure that 'NOT (NOT EXISTS (q))' behaves the same as 'EXISTS (q)')
 
- 
- 
Method Details- 
valuesReturns an array containing the constants of this enum type, in the order they are declared.- Returns:
- an array containing the constants of this enum type, in the order they are declared
 
- 
valueOfReturns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
- name- the name of the enum constant to be returned.
- Returns:
- the enum constant with the specified name
- Throws:
- IllegalArgumentException- if this enum type has no constant with the specified name
- NullPointerException- if the argument is null
 
- 
negate
- 
negate2Variant ofnegate()to be used withinLogicVisitor, where FALSE values may exist.
 
-