Trait InfallibleRule

Source
trait InfallibleRule<C: ConventionMarker>:
    Send
    + Sync
    + Description {
    // Required method
    fn apply(&self, plan: PlanRef<C>) -> Option<PlanRef<C>>;
}
Expand description

An one-to-one transform for the PlanNode.

It’s a convenient trait to implement FallibleRule, thus made available only within this module.

Required Methods§

Source

fn apply(&self, plan: PlanRef<C>) -> Option<PlanRef<C>>

Apply the rule to the plan node.

  • Returns Some if the apply is successful.
  • Returns None if it’s not applicable. The optimizer may try other rules.

Implementors§

Source§

impl InfallibleRule<Batch> for BatchIcebergCountStar

Source§

impl InfallibleRule<Batch> for BatchIcebergPredicatePushDownRule

Source§

impl InfallibleRule<Batch> for BatchProjectMergeRule

Source§

impl InfallibleRule<Batch> for BatchPushLimitToScanRule

Source§

impl InfallibleRule<Logical> for AggCallMergeRule

Source§

impl InfallibleRule<Logical> for AggGroupBySimplifyRule

Source§

impl InfallibleRule<Logical> for AggProjectMergeRule

Source§

impl InfallibleRule<Logical> for AlwaysFalseFilterRule

Source§

impl InfallibleRule<Logical> for ApplyAggTransposeRule

Source§

impl InfallibleRule<Logical> for ApplyDedupTransposeRule

Source§

impl InfallibleRule<Logical> for ApplyEliminateRule

Source§

impl InfallibleRule<Logical> for ApplyExpandTransposeRule

Source§

impl InfallibleRule<Logical> for ApplyFilterTransposeRule

Source§

impl InfallibleRule<Logical> for ApplyHopWindowTransposeRule

Source§

impl InfallibleRule<Logical> for ApplyJoinTransposeRule

Source§

impl InfallibleRule<Logical> for ApplyLimitTransposeRule

Source§

impl InfallibleRule<Logical> for ApplyOverWindowTransposeRule

Source§

impl InfallibleRule<Logical> for ApplyProjectSetTransposeRule

Source§

impl InfallibleRule<Logical> for ApplyProjectTransposeRule

Source§

impl InfallibleRule<Logical> for ApplyShareEliminateRule

Source§

impl InfallibleRule<Logical> for ApplyToJoinRule

Source§

impl InfallibleRule<Logical> for ApplyTopNTransposeRule

Source§

impl InfallibleRule<Logical> for ApplyUnionTransposeRule

Source§

impl InfallibleRule<Logical> for CommonSubExprExtractRule

Source§

impl InfallibleRule<Logical> for CrossJoinEliminateRule

Source§

impl InfallibleRule<Logical> for DagToTreeRule

Source§

impl InfallibleRule<Logical> for DistinctAggRule

Source§

impl InfallibleRule<Logical> for EmptyAggRemoveRule

Source§

impl InfallibleRule<Logical> for ExceptMergeRule

Source§

impl InfallibleRule<Logical> for ExceptToAntiJoinRule

Source§

impl InfallibleRule<Logical> for ExpandToProjectRule

Source§

impl InfallibleRule<Logical> for GroupingSetsToExpandRule

Source§

impl InfallibleRule<Logical> for IndexSelectionRule

Source§

impl InfallibleRule<Logical> for IntersectMergeRule

Source§

impl InfallibleRule<Logical> for IntersectToSemiJoinRule

Source§

impl InfallibleRule<Logical> for JoinCommuteRule

Source§

impl InfallibleRule<Logical> for JoinProjectTransposeRule

Source§

impl InfallibleRule<Logical> for LeftDeepTreeJoinOrderingRule

Source§

impl InfallibleRule<Logical> for LimitPushDownRule

Source§

impl InfallibleRule<Logical> for LogicalFilterExpressionSimplifyRule

Source§

impl InfallibleRule<Logical> for MaxOneRowEliminateRule

Source§

impl InfallibleRule<Logical> for MergeMultiJoinRule

Source§

impl InfallibleRule<Logical> for MinMaxOnIndexRule

Source§

impl InfallibleRule<Logical> for OverWindowMergeRule

Source§

impl InfallibleRule<Logical> for OverWindowSplitRule

Source§

impl InfallibleRule<Logical> for OverWindowToAggAndJoinRule

Source§

impl InfallibleRule<Logical> for OverWindowToTopNRule

Source§

impl InfallibleRule<Logical> for ProjectEliminateRule

Source§

impl InfallibleRule<Logical> for ProjectJoinMergeRule

Source§

impl InfallibleRule<Logical> for ProjectJoinSeparateRule

Source§

impl InfallibleRule<Logical> for ProjectMergeRule

Source§

impl InfallibleRule<Logical> for PullUpCorrelatedPredicateAggRule

Source§

impl InfallibleRule<Logical> for PullUpCorrelatedPredicateRule

Source§

impl InfallibleRule<Logical> for PullUpCorrelatedProjectValueRule

Source§

impl InfallibleRule<Logical> for PullUpHopRule

Source§

impl InfallibleRule<Logical> for PushCalculationOfJoinRule

Source§

impl InfallibleRule<Logical> for RewriteLikeExprRule

Source§

impl InfallibleRule<Logical> for SourceToKafkaScanRule

Source§

impl InfallibleRule<Logical> for BushyTreeJoinOrderingRule

Source§

impl InfallibleRule<Logical> for FilterWithNowToJoinRule

Source§

impl InfallibleRule<Logical> for GenerateSeriesWithNowRule

Source§

impl InfallibleRule<Logical> for SplitNowAndRule

Source§

impl InfallibleRule<Logical> for SplitNowOrRule

Source§

impl InfallibleRule<Logical> for TableFunctionToFileScanRule

Source§

impl InfallibleRule<Logical> for TableFunctionToMySqlQueryRule

Source§

impl InfallibleRule<Logical> for TableFunctionToPostgresQueryRule

Source§

impl InfallibleRule<Logical> for TableFunctionToProjectSetRule

Source§

impl InfallibleRule<Logical> for TopNOnIndexRule

Source§

impl InfallibleRule<Logical> for TranslateApplyRule

Source§

impl InfallibleRule<Logical> for TrivialProjectToValuesRule

Source§

impl InfallibleRule<Logical> for UnionInputValuesMergeRule

Source§

impl InfallibleRule<Logical> for UnionMergeRule

Source§

impl InfallibleRule<Logical> for UnionToDistinctRule

Source§

impl InfallibleRule<Logical> for ValuesExtractProjectRule

Source§

impl InfallibleRule<Stream> for AddLogstoreRule

Source§

impl InfallibleRule<Stream> for IndexDeltaJoinRule

Source§

impl InfallibleRule<Stream> for SeparateConsecutiveJoinRule

Source§

impl InfallibleRule<Stream> for StreamProjectMergeRule