Package org.apache.calcite.rel.rules
Interface SubstitutionRule
- All Superinterfaces:
TransformationRule
- All Known Implementing Classes:
AggregateRemoveRule
,AggregateValuesRule
,CalcRemoveRule
,ExchangeRemoveConstantKeysRule
,FilterMergeRule
,ProjectJoinJoinRemoveRule
,ProjectJoinRemoveRule
,ProjectRemoveRule
,PruneEmptyRules.PruneEmptyRule
,PruneEmptyRules.RemoveEmptySingleRule
,ReduceExpressionsRule
,ReduceExpressionsRule.CalcReduceExpressionsRule
,ReduceExpressionsRule.FilterReduceExpressionsRule
,ReduceExpressionsRule.JoinReduceExpressionsRule
,ReduceExpressionsRule.ProjectReduceExpressionsRule
,ReduceExpressionsRule.WindowReduceExpressionsRule
,SingleValuesOptimizationRules.PruneSingleValueRule
,SortRemoveConstantKeysRule
,UnionEliminatorRule
A rule that implements this interface indicates that the new RelNode
is typically better than the old one. All the substitution rules will
be executed first until they are done. The execution order of
substitution rules depends on the match order.
-
Method Summary
Modifier and TypeMethodDescriptiondefault boolean
Whether the planner should automatically prune old node when there is at least 1 equivalent rel generated by the rule.
-
Method Details
-
autoPruneOld
default boolean autoPruneOld()Whether the planner should automatically prune old node when there is at least 1 equivalent rel generated by the rule.Default is false, the user needs to prune the old node manually in the rule.
-