pub trait BatchPlanVisitor {
type Result;
type DefaultBehavior: DefaultBehavior<Self::Result>;
Show 37 methods
// Required method
fn default_behavior() -> Self::DefaultBehavior;
// Provided methods
fn visit_batch(&mut self, plan: PlanRef<Batch>) -> Self::Result { ... }
fn visit_batch_simple_agg(&mut self, plan: &BatchSimpleAgg) -> Self::Result { ... }
fn visit_batch_hash_agg(&mut self, plan: &BatchHashAgg) -> Self::Result { ... }
fn visit_batch_sort_agg(&mut self, plan: &BatchSortAgg) -> Self::Result { ... }
fn visit_batch_project(&mut self, plan: &BatchProject) -> Self::Result { ... }
fn visit_batch_filter(&mut self, plan: &BatchFilter) -> Self::Result { ... }
fn visit_batch_insert(&mut self, plan: &BatchInsert) -> Self::Result { ... }
fn visit_batch_delete(&mut self, plan: &BatchDelete) -> Self::Result { ... }
fn visit_batch_update(&mut self, plan: &BatchUpdate) -> Self::Result { ... }
fn visit_batch_seq_scan(&mut self, plan: &BatchSeqScan) -> Self::Result { ... }
fn visit_batch_sys_seq_scan(
&mut self,
plan: &BatchSysSeqScan,
) -> Self::Result { ... }
fn visit_batch_log_seq_scan(
&mut self,
plan: &BatchLogSeqScan,
) -> Self::Result { ... }
fn visit_batch_hash_join(&mut self, plan: &BatchHashJoin) -> Self::Result { ... }
fn visit_batch_nested_loop_join(
&mut self,
plan: &BatchNestedLoopJoin,
) -> Self::Result { ... }
fn visit_batch_values(&mut self, plan: &BatchValues) -> Self::Result { ... }
fn visit_batch_sort(&mut self, plan: &BatchSort) -> Self::Result { ... }
fn visit_batch_exchange(&mut self, plan: &BatchExchange) -> Self::Result { ... }
fn visit_batch_limit(&mut self, plan: &BatchLimit) -> Self::Result { ... }
fn visit_batch_top_n(&mut self, plan: &BatchTopN) -> Self::Result { ... }
fn visit_batch_hop_window(&mut self, plan: &BatchHopWindow) -> Self::Result { ... }
fn visit_batch_table_function(
&mut self,
plan: &BatchTableFunction,
) -> Self::Result { ... }
fn visit_batch_expand(&mut self, plan: &BatchExpand) -> Self::Result { ... }
fn visit_batch_lookup_join(
&mut self,
plan: &BatchLookupJoin,
) -> Self::Result { ... }
fn visit_batch_project_set(
&mut self,
plan: &BatchProjectSet,
) -> Self::Result { ... }
fn visit_batch_union(&mut self, plan: &BatchUnion) -> Self::Result { ... }
fn visit_batch_group_top_n(&mut self, plan: &BatchGroupTopN) -> Self::Result { ... }
fn visit_batch_source(&mut self, plan: &BatchSource) -> Self::Result { ... }
fn visit_batch_over_window(
&mut self,
plan: &BatchOverWindow,
) -> Self::Result { ... }
fn visit_batch_max_one_row(&mut self, plan: &BatchMaxOneRow) -> Self::Result { ... }
fn visit_batch_kafka_scan(&mut self, plan: &BatchKafkaScan) -> Self::Result { ... }
fn visit_batch_iceberg_scan(
&mut self,
plan: &BatchIcebergScan,
) -> Self::Result { ... }
fn visit_batch_file_scan(&mut self, plan: &BatchFileScan) -> Self::Result { ... }
fn visit_batch_postgres_query(
&mut self,
plan: &BatchPostgresQuery,
) -> Self::Result { ... }
fn visit_batch_my_sql_query(
&mut self,
plan: &BatchMySqlQuery,
) -> Self::Result { ... }
fn visit_batch_get_channel_delta_stats(
&mut self,
plan: &BatchGetChannelDeltaStats,
) -> Self::Result { ... }
fn visit_batch_vector_search(
&mut self,
plan: &BatchVectorSearch,
) -> 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_batch(&mut self, plan: PlanRef<Batch>) -> Self::Result
Sourcefn visit_batch_simple_agg(&mut self, plan: &BatchSimpleAgg) -> Self::Result
fn visit_batch_simple_agg(&mut self, plan: &BatchSimpleAgg) -> Self::Result
Visit BatchSimpleAgg , the function should visit the inputs.
Sourcefn visit_batch_hash_agg(&mut self, plan: &BatchHashAgg) -> Self::Result
fn visit_batch_hash_agg(&mut self, plan: &BatchHashAgg) -> Self::Result
Visit BatchHashAgg , the function should visit the inputs.
Sourcefn visit_batch_sort_agg(&mut self, plan: &BatchSortAgg) -> Self::Result
fn visit_batch_sort_agg(&mut self, plan: &BatchSortAgg) -> Self::Result
Visit BatchSortAgg , the function should visit the inputs.
Sourcefn visit_batch_project(&mut self, plan: &BatchProject) -> Self::Result
fn visit_batch_project(&mut self, plan: &BatchProject) -> Self::Result
Visit BatchProject , the function should visit the inputs.
Sourcefn visit_batch_filter(&mut self, plan: &BatchFilter) -> Self::Result
fn visit_batch_filter(&mut self, plan: &BatchFilter) -> Self::Result
Visit BatchFilter , the function should visit the inputs.
Sourcefn visit_batch_insert(&mut self, plan: &BatchInsert) -> Self::Result
fn visit_batch_insert(&mut self, plan: &BatchInsert) -> Self::Result
Visit BatchInsert , the function should visit the inputs.
Sourcefn visit_batch_delete(&mut self, plan: &BatchDelete) -> Self::Result
fn visit_batch_delete(&mut self, plan: &BatchDelete) -> Self::Result
Visit BatchDelete , the function should visit the inputs.
Sourcefn visit_batch_update(&mut self, plan: &BatchUpdate) -> Self::Result
fn visit_batch_update(&mut self, plan: &BatchUpdate) -> Self::Result
Visit BatchUpdate , the function should visit the inputs.
Sourcefn visit_batch_seq_scan(&mut self, plan: &BatchSeqScan) -> Self::Result
fn visit_batch_seq_scan(&mut self, plan: &BatchSeqScan) -> Self::Result
Visit BatchSeqScan , the function should visit the inputs.
Sourcefn visit_batch_sys_seq_scan(&mut self, plan: &BatchSysSeqScan) -> Self::Result
fn visit_batch_sys_seq_scan(&mut self, plan: &BatchSysSeqScan) -> Self::Result
Visit BatchSysSeqScan , the function should visit the inputs.
Sourcefn visit_batch_log_seq_scan(&mut self, plan: &BatchLogSeqScan) -> Self::Result
fn visit_batch_log_seq_scan(&mut self, plan: &BatchLogSeqScan) -> Self::Result
Visit BatchLogSeqScan , the function should visit the inputs.
Sourcefn visit_batch_hash_join(&mut self, plan: &BatchHashJoin) -> Self::Result
fn visit_batch_hash_join(&mut self, plan: &BatchHashJoin) -> Self::Result
Visit BatchHashJoin , the function should visit the inputs.
Sourcefn visit_batch_nested_loop_join(
&mut self,
plan: &BatchNestedLoopJoin,
) -> Self::Result
fn visit_batch_nested_loop_join( &mut self, plan: &BatchNestedLoopJoin, ) -> Self::Result
Visit BatchNestedLoopJoin , the function should visit the inputs.
Sourcefn visit_batch_values(&mut self, plan: &BatchValues) -> Self::Result
fn visit_batch_values(&mut self, plan: &BatchValues) -> Self::Result
Visit BatchValues , the function should visit the inputs.
Sourcefn visit_batch_sort(&mut self, plan: &BatchSort) -> Self::Result
fn visit_batch_sort(&mut self, plan: &BatchSort) -> Self::Result
Visit BatchSort , the function should visit the inputs.
Sourcefn visit_batch_exchange(&mut self, plan: &BatchExchange) -> Self::Result
fn visit_batch_exchange(&mut self, plan: &BatchExchange) -> Self::Result
Visit BatchExchange , the function should visit the inputs.
Sourcefn visit_batch_limit(&mut self, plan: &BatchLimit) -> Self::Result
fn visit_batch_limit(&mut self, plan: &BatchLimit) -> Self::Result
Visit BatchLimit , the function should visit the inputs.
Sourcefn visit_batch_top_n(&mut self, plan: &BatchTopN) -> Self::Result
fn visit_batch_top_n(&mut self, plan: &BatchTopN) -> Self::Result
Visit BatchTopN , the function should visit the inputs.
Sourcefn visit_batch_hop_window(&mut self, plan: &BatchHopWindow) -> Self::Result
fn visit_batch_hop_window(&mut self, plan: &BatchHopWindow) -> Self::Result
Visit BatchHopWindow , the function should visit the inputs.
Sourcefn visit_batch_table_function(
&mut self,
plan: &BatchTableFunction,
) -> Self::Result
fn visit_batch_table_function( &mut self, plan: &BatchTableFunction, ) -> Self::Result
Visit BatchTableFunction , the function should visit the inputs.
Sourcefn visit_batch_expand(&mut self, plan: &BatchExpand) -> Self::Result
fn visit_batch_expand(&mut self, plan: &BatchExpand) -> Self::Result
Visit BatchExpand , the function should visit the inputs.
Sourcefn visit_batch_lookup_join(&mut self, plan: &BatchLookupJoin) -> Self::Result
fn visit_batch_lookup_join(&mut self, plan: &BatchLookupJoin) -> Self::Result
Visit BatchLookupJoin , the function should visit the inputs.
Sourcefn visit_batch_project_set(&mut self, plan: &BatchProjectSet) -> Self::Result
fn visit_batch_project_set(&mut self, plan: &BatchProjectSet) -> Self::Result
Visit BatchProjectSet , the function should visit the inputs.
Sourcefn visit_batch_union(&mut self, plan: &BatchUnion) -> Self::Result
fn visit_batch_union(&mut self, plan: &BatchUnion) -> Self::Result
Visit BatchUnion , the function should visit the inputs.
Sourcefn visit_batch_group_top_n(&mut self, plan: &BatchGroupTopN) -> Self::Result
fn visit_batch_group_top_n(&mut self, plan: &BatchGroupTopN) -> Self::Result
Visit BatchGroupTopN , the function should visit the inputs.
Sourcefn visit_batch_source(&mut self, plan: &BatchSource) -> Self::Result
fn visit_batch_source(&mut self, plan: &BatchSource) -> Self::Result
Visit BatchSource , the function should visit the inputs.
Sourcefn visit_batch_over_window(&mut self, plan: &BatchOverWindow) -> Self::Result
fn visit_batch_over_window(&mut self, plan: &BatchOverWindow) -> Self::Result
Visit BatchOverWindow , the function should visit the inputs.
Sourcefn visit_batch_max_one_row(&mut self, plan: &BatchMaxOneRow) -> Self::Result
fn visit_batch_max_one_row(&mut self, plan: &BatchMaxOneRow) -> Self::Result
Visit BatchMaxOneRow , the function should visit the inputs.
Sourcefn visit_batch_kafka_scan(&mut self, plan: &BatchKafkaScan) -> Self::Result
fn visit_batch_kafka_scan(&mut self, plan: &BatchKafkaScan) -> Self::Result
Visit BatchKafkaScan , the function should visit the inputs.
Sourcefn visit_batch_iceberg_scan(&mut self, plan: &BatchIcebergScan) -> Self::Result
fn visit_batch_iceberg_scan(&mut self, plan: &BatchIcebergScan) -> Self::Result
Visit BatchIcebergScan , the function should visit the inputs.
Sourcefn visit_batch_file_scan(&mut self, plan: &BatchFileScan) -> Self::Result
fn visit_batch_file_scan(&mut self, plan: &BatchFileScan) -> Self::Result
Visit BatchFileScan , the function should visit the inputs.
Sourcefn visit_batch_postgres_query(
&mut self,
plan: &BatchPostgresQuery,
) -> Self::Result
fn visit_batch_postgres_query( &mut self, plan: &BatchPostgresQuery, ) -> Self::Result
Visit BatchPostgresQuery , the function should visit the inputs.
Sourcefn visit_batch_my_sql_query(&mut self, plan: &BatchMySqlQuery) -> Self::Result
fn visit_batch_my_sql_query(&mut self, plan: &BatchMySqlQuery) -> Self::Result
Visit BatchMySqlQuery , the function should visit the inputs.
Sourcefn visit_batch_get_channel_delta_stats(
&mut self,
plan: &BatchGetChannelDeltaStats,
) -> Self::Result
fn visit_batch_get_channel_delta_stats( &mut self, plan: &BatchGetChannelDeltaStats, ) -> Self::Result
Visit BatchGetChannelDeltaStats , the function should visit the inputs.
Sourcefn visit_batch_vector_search(
&mut self,
plan: &BatchVectorSearch,
) -> Self::Result
fn visit_batch_vector_search( &mut self, plan: &BatchVectorSearch, ) -> Self::Result
Visit BatchVectorSearch , 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".