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§
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
impl InfallibleRule<Batch> for BatchProjectMergeRule
impl InfallibleRule<Batch> for BatchPushLimitToScanRule
impl InfallibleRule<Logical> for AggCallMergeRule
impl InfallibleRule<Logical> for AggGroupBySimplifyRule
impl InfallibleRule<Logical> for AggProjectMergeRule
impl InfallibleRule<Logical> for AlwaysFalseFilterRule
impl InfallibleRule<Logical> for ApplyAggTransposeRule
impl InfallibleRule<Logical> for ApplyDedupTransposeRule
impl InfallibleRule<Logical> for ApplyEliminateRule
impl InfallibleRule<Logical> for ApplyExpandTransposeRule
impl InfallibleRule<Logical> for ApplyFilterTransposeRule
impl InfallibleRule<Logical> for ApplyHopWindowTransposeRule
impl InfallibleRule<Logical> for ApplyJoinTransposeRule
impl InfallibleRule<Logical> for ApplyLimitTransposeRule
impl InfallibleRule<Logical> for ApplyOverWindowTransposeRule
impl InfallibleRule<Logical> for ApplyProjectSetTransposeRule
impl InfallibleRule<Logical> for ApplyProjectTransposeRule
impl InfallibleRule<Logical> for ApplyTableFunctionToProjectSetRule
impl InfallibleRule<Logical> for ApplyToJoinRule
impl InfallibleRule<Logical> for ApplyTopNTransposeRule
impl InfallibleRule<Logical> for ApplyUnionTransposeRule
impl InfallibleRule<Logical> for BushyTreeJoinOrderingRule
impl InfallibleRule<Logical> for CommonSubExprExtractRule
impl InfallibleRule<Logical> for CrossJoinEliminateRule
impl InfallibleRule<Logical> for DagToTreeRule
impl InfallibleRule<Logical> for DistinctAggRule
impl InfallibleRule<Logical> for EmptyAggRemoveRule
impl InfallibleRule<Logical> for ExceptMergeRule
impl InfallibleRule<Logical> for ExceptToAntiJoinRule
impl InfallibleRule<Logical> for ExpandToProjectRule
impl InfallibleRule<Logical> for FilterWithNowToJoinRule
impl InfallibleRule<Logical> for GenerateSeriesWithNowRule
impl InfallibleRule<Logical> for GroupingSetsToExpandRule
impl InfallibleRule<Logical> for IcebergCountStarRule
impl InfallibleRule<Logical> for IcebergEngineStorageSelectionRule
impl InfallibleRule<Logical> for IndexSelectionRule
impl InfallibleRule<Logical> for IntersectMergeRule
impl InfallibleRule<Logical> for IntersectToSemiJoinRule
impl InfallibleRule<Logical> for JoinCommuteRule
impl InfallibleRule<Logical> for JoinProjectTransposeRule
impl InfallibleRule<Logical> for LeftDeepTreeJoinOrderingRule
impl InfallibleRule<Logical> for LimitPushDownRule
impl InfallibleRule<Logical> for LogicalFilterExpressionSimplifyRule
impl InfallibleRule<Logical> for MaxOneRowEliminateRule
impl InfallibleRule<Logical> for MergeMultiJoinRule
impl InfallibleRule<Logical> for MinMaxOnIndexRule
impl InfallibleRule<Logical> for MvSelectionRule
impl InfallibleRule<Logical> for OverWindowMergeRule
impl InfallibleRule<Logical> for OverWindowSplitRule
impl InfallibleRule<Logical> for OverWindowToAggAndJoinRule
impl InfallibleRule<Logical> for OverWindowToTopNRule
impl InfallibleRule<Logical> for ProjectEliminateRule
impl InfallibleRule<Logical> for ProjectJoinMergeRule
impl InfallibleRule<Logical> for ProjectJoinSeparateRule
impl InfallibleRule<Logical> for ProjectMergeRule
impl InfallibleRule<Logical> for ProjectTopNTransposeRule
impl InfallibleRule<Logical> for PullUpHopRule
impl InfallibleRule<Logical> for PushCalculationOfJoinRule
impl InfallibleRule<Logical> for RewriteLikeExprRule
impl InfallibleRule<Logical> for SourceToKafkaScanRule
impl InfallibleRule<Logical> for SplitNowAndRule
impl InfallibleRule<Logical> for SplitNowOrRule
impl InfallibleRule<Logical> for TableFunctionToFileScanRule
impl InfallibleRule<Logical> for TableFunctionToMySqlQueryRule
impl InfallibleRule<Logical> for TableFunctionToPostgresQueryRule
impl InfallibleRule<Logical> for TableFunctionToProjectSetRule
impl InfallibleRule<Logical> for TopNOnIndexRule
impl InfallibleRule<Logical> for TopNProjectTransposeRule
impl InfallibleRule<Logical> for TopNToVectorSearchRule
This rule converts the following TopN pattern to LogicalVectorSearch
LogicalTopN { order: [$expr1 ASC], limit: TOP_N, offset: 0 }
└─LogicalProject { exprs: [VectorDistanceFunc(vector_expr1, vector_expr2) as $expr1, other_exprs...] }to
LogicalProject { exprs: [other_exprs... + distance_column] }
└─LogicalVectorSearch { distance_type: `PbDistanceType`, top_n: TOP_N, left: vector_expr1, right: vector_expr2, output_columns: [...] }