Package org.apache.calcite.rel.hint
Class HintStrategy
java.lang.Object
org.apache.calcite.rel.hint.HintStrategy
Represents a hint strategy entry of
HintStrategyTable
.
A HintStrategy
defines:
HintPredicate
: tests whether a hint should apply to a relational expression;HintOptionChecker
: validates the hint options;excludedRules
: rules to exclude when a relational expression is going to apply a planner rule;converterRules
: fallback rules to apply when there are no proper implementations after excluding theexcludedRules
.
The HintPredicate
is required, all the other items are optional.
HintStrategy
is immutable.
-
Nested Class Summary
-
Field Summary
Modifier and TypeFieldDescriptionfinal com.google.common.collect.ImmutableSet<ConverterRule>
final com.google.common.collect.ImmutableSet<RelOptRule>
final @Nullable HintOptionChecker
final HintPredicate
-
Method Summary
Modifier and TypeMethodDescriptionstatic HintStrategy.Builder
builder
(HintPredicate hintPredicate) Returns aHintStrategy
builder with given hint predicate.
-
Field Details
-
predicate
-
hintOptionChecker
-
excludedRules
-
converterRules
-
-
Method Details
-
builder
Returns aHintStrategy
builder with given hint predicate.- Parameters:
hintPredicate
- hint predicate- Returns:
HintStrategy.Builder
instance
-