pub trait LogicalPlanVisitor {
type Result;
type DefaultBehavior: DefaultBehavior<Self::Result>;
Show 42 methods
// Required method
fn default_behavior() -> Self::DefaultBehavior;
// Provided methods
fn visit_logical(&mut self, plan: PlanRef<Logical>) -> Self::Result { ... }
fn visit_logical_agg(&mut self, plan: &LogicalAgg) -> Self::Result { ... }
fn visit_logical_apply(&mut self, plan: &LogicalApply) -> Self::Result { ... }
fn visit_logical_filter(&mut self, plan: &LogicalFilter) -> Self::Result { ... }
fn visit_logical_project(&mut self, plan: &LogicalProject) -> Self::Result { ... }
fn visit_logical_scan(&mut self, plan: &LogicalScan) -> Self::Result { ... }
fn visit_logical_cdc_scan(&mut self, plan: &LogicalCdcScan) -> Self::Result { ... }
fn visit_logical_sys_scan(&mut self, plan: &LogicalSysScan) -> Self::Result { ... }
fn visit_logical_source(&mut self, plan: &LogicalSource) -> Self::Result { ... }
fn visit_logical_insert(&mut self, plan: &LogicalInsert) -> Self::Result { ... }
fn visit_logical_delete(&mut self, plan: &LogicalDelete) -> Self::Result { ... }
fn visit_logical_update(&mut self, plan: &LogicalUpdate) -> Self::Result { ... }
fn visit_logical_join(&mut self, plan: &LogicalJoin) -> Self::Result { ... }
fn visit_logical_values(&mut self, plan: &LogicalValues) -> Self::Result { ... }
fn visit_logical_limit(&mut self, plan: &LogicalLimit) -> Self::Result { ... }
fn visit_logical_top_n(&mut self, plan: &LogicalTopN) -> Self::Result { ... }
fn visit_logical_hop_window(
&mut self,
plan: &LogicalHopWindow,
) -> Self::Result { ... }
fn visit_logical_table_function(
&mut self,
plan: &LogicalTableFunction,
) -> Self::Result { ... }
fn visit_logical_multi_join(
&mut self,
plan: &LogicalMultiJoin,
) -> Self::Result { ... }
fn visit_logical_expand(&mut self, plan: &LogicalExpand) -> Self::Result { ... }
fn visit_logical_project_set(
&mut self,
plan: &LogicalProjectSet,
) -> Self::Result { ... }
fn visit_logical_union(&mut self, plan: &LogicalUnion) -> Self::Result { ... }
fn visit_logical_over_window(
&mut self,
plan: &LogicalOverWindow,
) -> Self::Result { ... }
fn visit_logical_share(&mut self, plan: &LogicalShare) -> Self::Result { ... }
fn visit_logical_now(&mut self, plan: &LogicalNow) -> Self::Result { ... }
fn visit_logical_dedup(&mut self, plan: &LogicalDedup) -> Self::Result { ... }
fn visit_logical_intersect(
&mut self,
plan: &LogicalIntersect,
) -> Self::Result { ... }
fn visit_logical_except(&mut self, plan: &LogicalExcept) -> Self::Result { ... }
fn visit_logical_max_one_row(
&mut self,
plan: &LogicalMaxOneRow,
) -> Self::Result { ... }
fn visit_logical_kafka_scan(
&mut self,
plan: &LogicalKafkaScan,
) -> Self::Result { ... }
fn visit_logical_iceberg_scan(
&mut self,
plan: &LogicalIcebergScan,
) -> Self::Result { ... }
fn visit_logical_iceberg_intermediate_scan(
&mut self,
plan: &LogicalIcebergIntermediateScan,
) -> Self::Result { ... }
fn visit_logical_change_log(
&mut self,
plan: &LogicalChangeLog,
) -> Self::Result { ... }
fn visit_logical_file_scan(
&mut self,
plan: &LogicalFileScan,
) -> Self::Result { ... }
fn visit_logical_postgres_query(
&mut self,
plan: &LogicalPostgresQuery,
) -> Self::Result { ... }
fn visit_logical_my_sql_query(
&mut self,
plan: &LogicalMySqlQuery,
) -> Self::Result { ... }
fn visit_logical_gap_fill(&mut self, plan: &LogicalGapFill) -> Self::Result { ... }
fn visit_logical_vector_search(
&mut self,
plan: &LogicalVectorSearch,
) -> Self::Result { ... }
fn visit_logical_get_channel_delta_stats(
&mut self,
plan: &LogicalGetChannelDeltaStats,
) -> Self::Result { ... }
fn visit_logical_locality_provider(
&mut self,
plan: &LogicalLocalityProvider,
) -> Self::Result { ... }
fn visit_logical_vector_search_lookup_join(
&mut self,
plan: &LogicalVectorSearchLookupJoin,
) -> Self::Result { ... }
}Expand description
The visitor for plan nodes. visit all inputs and return the ret value of the left most input,
and leaf node returns R::default()
Required Associated Types§
type Result
type DefaultBehavior: DefaultBehavior<Self::Result>
Required Methods§
Sourcefn default_behavior() -> Self::DefaultBehavior
fn default_behavior() -> Self::DefaultBehavior
The behavior for the default implementations of visit_xxx.
Provided Methods§
fn visit_logical(&mut self, plan: PlanRef<Logical>) -> Self::Result
Sourcefn visit_logical_agg(&mut self, plan: &LogicalAgg) -> Self::Result
fn visit_logical_agg(&mut self, plan: &LogicalAgg) -> Self::Result
Visit LogicalAgg , the function should visit the inputs.
Sourcefn visit_logical_apply(&mut self, plan: &LogicalApply) -> Self::Result
fn visit_logical_apply(&mut self, plan: &LogicalApply) -> Self::Result
Visit LogicalApply , the function should visit the inputs.
Sourcefn visit_logical_filter(&mut self, plan: &LogicalFilter) -> Self::Result
fn visit_logical_filter(&mut self, plan: &LogicalFilter) -> Self::Result
Visit LogicalFilter , the function should visit the inputs.
Sourcefn visit_logical_project(&mut self, plan: &LogicalProject) -> Self::Result
fn visit_logical_project(&mut self, plan: &LogicalProject) -> Self::Result
Visit LogicalProject , the function should visit the inputs.
Sourcefn visit_logical_scan(&mut self, plan: &LogicalScan) -> Self::Result
fn visit_logical_scan(&mut self, plan: &LogicalScan) -> Self::Result
Visit LogicalScan , the function should visit the inputs.
Sourcefn visit_logical_cdc_scan(&mut self, plan: &LogicalCdcScan) -> Self::Result
fn visit_logical_cdc_scan(&mut self, plan: &LogicalCdcScan) -> Self::Result
Visit LogicalCdcScan , the function should visit the inputs.
Sourcefn visit_logical_sys_scan(&mut self, plan: &LogicalSysScan) -> Self::Result
fn visit_logical_sys_scan(&mut self, plan: &LogicalSysScan) -> Self::Result
Visit LogicalSysScan , the function should visit the inputs.
Sourcefn visit_logical_source(&mut self, plan: &LogicalSource) -> Self::Result
fn visit_logical_source(&mut self, plan: &LogicalSource) -> Self::Result
Visit LogicalSource , the function should visit the inputs.
Sourcefn visit_logical_insert(&mut self, plan: &LogicalInsert) -> Self::Result
fn visit_logical_insert(&mut self, plan: &LogicalInsert) -> Self::Result
Visit LogicalInsert , the function should visit the inputs.
Sourcefn visit_logical_delete(&mut self, plan: &LogicalDelete) -> Self::Result
fn visit_logical_delete(&mut self, plan: &LogicalDelete) -> Self::Result
Visit LogicalDelete , the function should visit the inputs.
Sourcefn visit_logical_update(&mut self, plan: &LogicalUpdate) -> Self::Result
fn visit_logical_update(&mut self, plan: &LogicalUpdate) -> Self::Result
Visit LogicalUpdate , the function should visit the inputs.
Sourcefn visit_logical_join(&mut self, plan: &LogicalJoin) -> Self::Result
fn visit_logical_join(&mut self, plan: &LogicalJoin) -> Self::Result
Visit LogicalJoin , the function should visit the inputs.
Sourcefn visit_logical_values(&mut self, plan: &LogicalValues) -> Self::Result
fn visit_logical_values(&mut self, plan: &LogicalValues) -> Self::Result
Visit LogicalValues , the function should visit the inputs.
Sourcefn visit_logical_limit(&mut self, plan: &LogicalLimit) -> Self::Result
fn visit_logical_limit(&mut self, plan: &LogicalLimit) -> Self::Result
Visit LogicalLimit , the function should visit the inputs.
Sourcefn visit_logical_top_n(&mut self, plan: &LogicalTopN) -> Self::Result
fn visit_logical_top_n(&mut self, plan: &LogicalTopN) -> Self::Result
Visit LogicalTopN , the function should visit the inputs.
Sourcefn visit_logical_hop_window(&mut self, plan: &LogicalHopWindow) -> Self::Result
fn visit_logical_hop_window(&mut self, plan: &LogicalHopWindow) -> Self::Result
Visit LogicalHopWindow , the function should visit the inputs.
Sourcefn visit_logical_table_function(
&mut self,
plan: &LogicalTableFunction,
) -> Self::Result
fn visit_logical_table_function( &mut self, plan: &LogicalTableFunction, ) -> Self::Result
Visit LogicalTableFunction , the function should visit the inputs.
Sourcefn visit_logical_multi_join(&mut self, plan: &LogicalMultiJoin) -> Self::Result
fn visit_logical_multi_join(&mut self, plan: &LogicalMultiJoin) -> Self::Result
Visit LogicalMultiJoin , the function should visit the inputs.
Sourcefn visit_logical_expand(&mut self, plan: &LogicalExpand) -> Self::Result
fn visit_logical_expand(&mut self, plan: &LogicalExpand) -> Self::Result
Visit LogicalExpand , the function should visit the inputs.
Sourcefn visit_logical_project_set(
&mut self,
plan: &LogicalProjectSet,
) -> Self::Result
fn visit_logical_project_set( &mut self, plan: &LogicalProjectSet, ) -> Self::Result
Visit LogicalProjectSet , the function should visit the inputs.
Sourcefn visit_logical_union(&mut self, plan: &LogicalUnion) -> Self::Result
fn visit_logical_union(&mut self, plan: &LogicalUnion) -> Self::Result
Visit LogicalUnion , the function should visit the inputs.
Sourcefn visit_logical_over_window(
&mut self,
plan: &LogicalOverWindow,
) -> Self::Result
fn visit_logical_over_window( &mut self, plan: &LogicalOverWindow, ) -> Self::Result
Visit LogicalOverWindow , the function should visit the inputs.
Visit LogicalShare , the function should visit the inputs.
Sourcefn visit_logical_now(&mut self, plan: &LogicalNow) -> Self::Result
fn visit_logical_now(&mut self, plan: &LogicalNow) -> Self::Result
Visit LogicalNow , the function should visit the inputs.
Sourcefn visit_logical_dedup(&mut self, plan: &LogicalDedup) -> Self::Result
fn visit_logical_dedup(&mut self, plan: &LogicalDedup) -> Self::Result
Visit LogicalDedup , the function should visit the inputs.
Sourcefn visit_logical_intersect(&mut self, plan: &LogicalIntersect) -> Self::Result
fn visit_logical_intersect(&mut self, plan: &LogicalIntersect) -> Self::Result
Visit LogicalIntersect , the function should visit the inputs.
Sourcefn visit_logical_except(&mut self, plan: &LogicalExcept) -> Self::Result
fn visit_logical_except(&mut self, plan: &LogicalExcept) -> Self::Result
Visit LogicalExcept , the function should visit the inputs.
Sourcefn visit_logical_max_one_row(&mut self, plan: &LogicalMaxOneRow) -> Self::Result
fn visit_logical_max_one_row(&mut self, plan: &LogicalMaxOneRow) -> Self::Result
Visit LogicalMaxOneRow , the function should visit the inputs.
Sourcefn visit_logical_kafka_scan(&mut self, plan: &LogicalKafkaScan) -> Self::Result
fn visit_logical_kafka_scan(&mut self, plan: &LogicalKafkaScan) -> Self::Result
Visit LogicalKafkaScan , the function should visit the inputs.
Sourcefn visit_logical_iceberg_scan(
&mut self,
plan: &LogicalIcebergScan,
) -> Self::Result
fn visit_logical_iceberg_scan( &mut self, plan: &LogicalIcebergScan, ) -> Self::Result
Visit LogicalIcebergScan , the function should visit the inputs.
Sourcefn visit_logical_iceberg_intermediate_scan(
&mut self,
plan: &LogicalIcebergIntermediateScan,
) -> Self::Result
fn visit_logical_iceberg_intermediate_scan( &mut self, plan: &LogicalIcebergIntermediateScan, ) -> Self::Result
Visit LogicalIcebergIntermediateScan , the function should visit the inputs.
Sourcefn visit_logical_change_log(&mut self, plan: &LogicalChangeLog) -> Self::Result
fn visit_logical_change_log(&mut self, plan: &LogicalChangeLog) -> Self::Result
Visit LogicalChangeLog , the function should visit the inputs.
Sourcefn visit_logical_file_scan(&mut self, plan: &LogicalFileScan) -> Self::Result
fn visit_logical_file_scan(&mut self, plan: &LogicalFileScan) -> Self::Result
Visit LogicalFileScan , the function should visit the inputs.
Sourcefn visit_logical_postgres_query(
&mut self,
plan: &LogicalPostgresQuery,
) -> Self::Result
fn visit_logical_postgres_query( &mut self, plan: &LogicalPostgresQuery, ) -> Self::Result
Visit LogicalPostgresQuery , the function should visit the inputs.
Sourcefn visit_logical_my_sql_query(
&mut self,
plan: &LogicalMySqlQuery,
) -> Self::Result
fn visit_logical_my_sql_query( &mut self, plan: &LogicalMySqlQuery, ) -> Self::Result
Visit LogicalMySqlQuery , the function should visit the inputs.
Sourcefn visit_logical_gap_fill(&mut self, plan: &LogicalGapFill) -> Self::Result
fn visit_logical_gap_fill(&mut self, plan: &LogicalGapFill) -> Self::Result
Visit LogicalGapFill , the function should visit the inputs.
Sourcefn visit_logical_vector_search(
&mut self,
plan: &LogicalVectorSearch,
) -> Self::Result
fn visit_logical_vector_search( &mut self, plan: &LogicalVectorSearch, ) -> Self::Result
Visit LogicalVectorSearch , the function should visit the inputs.
Sourcefn visit_logical_get_channel_delta_stats(
&mut self,
plan: &LogicalGetChannelDeltaStats,
) -> Self::Result
fn visit_logical_get_channel_delta_stats( &mut self, plan: &LogicalGetChannelDeltaStats, ) -> Self::Result
Visit LogicalGetChannelDeltaStats , the function should visit the inputs.
Sourcefn visit_logical_locality_provider(
&mut self,
plan: &LogicalLocalityProvider,
) -> Self::Result
fn visit_logical_locality_provider( &mut self, plan: &LogicalLocalityProvider, ) -> Self::Result
Visit LogicalLocalityProvider , the function should visit the inputs.
Sourcefn visit_logical_vector_search_lookup_join(
&mut self,
plan: &LogicalVectorSearchLookupJoin,
) -> Self::Result
fn visit_logical_vector_search_lookup_join( &mut self, plan: &LogicalVectorSearchLookupJoin, ) -> Self::Result
Visit LogicalVectorSearchLookupJoin , the function should visit the inputs.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".