Package org.apache.calcite.plan
Enum DeriveMode
- All Implemented Interfaces:
Serializable
,Comparable<DeriveMode>
,Constable
The mode of trait derivation.
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>>
-
Enum Constant Summary
Enum ConstantDescriptionIterates over each child, uses current child's traits to decide what traits to require from the other children.Uses the left most child's traits to decide what traits to require from the other children.Leave it to you, you decide what you cook.Trait derivation is prohibited.Uses the right most child's traits to decide what traits to require from the other children. -
Method Summary
Modifier and TypeMethodDescriptionstatic DeriveMode
Returns the enum constant of this type with the specified name.static DeriveMode[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
Enum Constant Details
-
LEFT_FIRST
Uses the left most child's traits to decide what traits to require from the other children. This generally applies to most operators. -
RIGHT_FIRST
Uses the right most child's traits to decide what traits to require from the other children. Operators like index nested loop join may find this useful. -
BOTH
Iterates over each child, uses current child's traits to decide what traits to require from the other children. It includes both LEFT_FIRST and RIGHT_FIRST. System that doesn't enable join commutativity should consider this option. Special customized operators like a Join who has 3 inputs may find this useful too. -
OMAKASE
Leave it to you, you decide what you cook. This will allow planner to pass all the traits from all the children, the user decides how to make use of these traits and whether to derive new rel nodes. -
PROHIBITED
Trait derivation is prohibited.
-
-
Method Details
-
values
Returns 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
-
valueOf
Returns 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 nameNullPointerException
- if the argument is null
-