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
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionfinal com.google.common.collect.ImmutableSet<ConverterRule>final com.google.common.collect.ImmutableSet<RelOptRule>final @Nullable HintOptionCheckerfinal HintPredicate -
Method Summary
Modifier and TypeMethodDescriptionstatic HintStrategy.Builderbuilder(HintPredicate hintPredicate) Returns aHintStrategybuilder with given hint predicate.
-
Field Details
-
predicate
-
hintOptionChecker
-
excludedRules
-
converterRules
-
-
Method Details
-
builder
Returns aHintStrategybuilder with given hint predicate.- Parameters:
hintPredicate- hint predicate- Returns:
HintStrategy.Builderinstance
-