Package org.apache.calcite.rel.hint
Class HintStrategyTable
java.lang.Object
org.apache.calcite.rel.hint.HintStrategyTable
A collection of
HintStrategys.
Every hint must register a HintStrategy into the collection.
With a hint strategies mapping, the hint strategy table is used as a tool
to decide i) if the given hint was registered; ii) which hints are suitable for the rel with
a given hints collection; iii) if the hint options are valid.
The hint strategy table is immutable. To create one, use
builder().
Match of hint name is case insensitive.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classBuilder forHintStrategyTable.static classImplementation ofLitmusthat returns a status code, it logs warnings for fail check and does not throw. -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionApplies thisHintStrategyTablehint strategies to the given relational expression and thehints.static HintStrategyTable.Builderbuilder()Returns aHintStrategyTablebuilder.booleanisRuleExcluded(Hintable hintable, RelOptRule rule) Returns whether thehintablehas hints that imply the givenruleshould be excluded.booleanvalidateHint(RelHint hint) Checks if the given hint is valid.
-
Field Details
-
EMPTY
Empty strategies.
-
-
Method Details
-
apply
Applies thisHintStrategyTablehint strategies to the given relational expression and thehints.- Parameters:
hints- Hints that may attach to therelrel- Relational expression- Returns:
- A hint list that can be attached to the
rel
-
validateHint
Checks if the given hint is valid.- Parameters:
hint- The hint
-
isRuleExcluded
Returns whether thehintablehas hints that imply the givenruleshould be excluded. -
builder
Returns aHintStrategyTablebuilder.
-