Package org.apache.calcite.rel.convert
Class TraitMatchingRule
java.lang.Object
org.apache.calcite.plan.RelOptRule
org.apache.calcite.plan.RelRule<TraitMatchingRule.Config>
org.apache.calcite.rel.convert.TraitMatchingRule
TraitMatchingRule adapts a converter rule, restricting it to fire only when
 its input already matches the expected output trait. This can be used with
 
HepPlanner in cases where alternate
 implementations are available and it is desirable to minimize converters.- 
Nested Class SummaryNested ClassesNested classes/interfaces inherited from class org.apache.calcite.plan.RelRuleRelRule.Done, RelRule.MatchHandler<R extends RelOptRule>, RelRule.OperandBuilder, RelRule.OperandDetailBuilder<R extends RelNode>, RelRule.OperandTransformNested classes/interfaces inherited from class org.apache.calcite.plan.RelOptRuleRelOptRule.ConverterRelOptRuleOperand
- 
Field SummaryFields inherited from class org.apache.calcite.plan.RelOptRuledescription, operands, relBuilderFactory
- 
Constructor SummaryConstructorsModifierConstructorDescriptionTraitMatchingRule(ConverterRule converterRule) Deprecated.TraitMatchingRule(ConverterRule converterRule, RelBuilderFactory relBuilderFactory) Deprecated.protectedCreates a TraitMatchingRule.
- 
Method SummaryModifier and TypeMethodDescriptionstatic TraitMatchingRule.Configconfig(ConverterRule converterRule, RelBuilderFactory relBuilderFactory) Creates a configuration for a TraitMatchingRule.@Nullable ConventionReturns the convention of the result of firing this rule, null if not known.voidonMatch(RelOptRuleCall call) Receives notification about a rule match.Methods inherited from class org.apache.calcite.plan.RelOptRuleany, convert, convert, convert, convert, convertList, convertOperand, convertOperand, equals, equals, getOperand, getOperands, getOutTrait, hashCode, matches, none, operand, operand, operand, operand, operand, operandJ, operandJ, some, toString, unordered
- 
Constructor Details- 
TraitMatchingRuleCreates a TraitMatchingRule.
- 
TraitMatchingRuleDeprecated.
- 
TraitMatchingRule@Deprecated public TraitMatchingRule(ConverterRule converterRule, RelBuilderFactory relBuilderFactory) Deprecated.
 
- 
- 
Method Details- 
configpublic static TraitMatchingRule.Config config(ConverterRule converterRule, RelBuilderFactory relBuilderFactory) Creates a configuration for a TraitMatchingRule.- Parameters:
- converterRule- Rule to be restricted; rule must take a single operand expecting a single input
- relBuilderFactory- Builder for relational expressions
 
- 
getOutConventionDescription copied from class:RelOptRuleReturns the convention of the result of firing this rule, null if not known.- Overrides:
- getOutConventionin class- RelOptRule
- Returns:
- Convention of the result of firing this rule, null if not known
 
- 
onMatchDescription copied from class:RelOptRuleReceives notification about a rule match. At the time that this method is called,call.relsholds the set of relational expressions which match the operands to the rule;call.rels[0]is the root expression.Typically a rule would check that the nodes are valid matches, creates a new expression, then calls back RelOptRuleCall.transformTo(org.apache.calcite.rel.RelNode, java.util.Map<org.apache.calcite.rel.RelNode, org.apache.calcite.rel.RelNode>, org.apache.calcite.plan.RelHintsPropagator)to register the expression.- Specified by:
- onMatchin class- RelOptRule
- Parameters:
- call- Rule call
- See Also:
 
 
-