Package org.apache.calcite.rel.hint
Class HintStrategyTable
java.lang.Object
org.apache.calcite.rel.hint.HintStrategyTable
A collection of
HintStrategy
s.
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
Modifier and TypeClassDescriptionstatic class
Builder forHintStrategyTable
.static class
Implementation ofLitmus
that returns a status code, it logs warnings for fail check and does not throw. -
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptionApplies thisHintStrategyTable
hint strategies to the given relational expression and thehints
.static HintStrategyTable.Builder
builder()
Returns aHintStrategyTable
builder.boolean
isRuleExcluded
(Hintable hintable, RelOptRule rule) Returns whether thehintable
has hints that imply the givenrule
should be excluded.boolean
validateHint
(RelHint hint) Checks if the given hint is valid.
-
Field Details
-
EMPTY
Empty strategies.
-
-
Method Details
-
apply
Applies thisHintStrategyTable
hint strategies to the given relational expression and thehints
.- Parameters:
hints
- Hints that may attach to therel
rel
- 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 thehintable
has hints that imply the givenrule
should be excluded. -
builder
Returns aHintStrategyTable
builder.
-