Trait BatchPlanVisitor

Source
pub trait BatchPlanVisitor {
    type Result: Default;
    type DefaultBehavior: DefaultBehavior<Self::Result>;

Show 35 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 { ... }
}
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§

Required Methods§

Source

fn default_behavior() -> Self::DefaultBehavior

The behavior for the default implementations of visit_xxx.

Provided Methods§

Source

fn visit_batch(&mut self, plan: PlanRef<Batch>) -> Self::Result

Source

fn visit_batch_simple_agg(&mut self, plan: &BatchSimpleAgg) -> Self::Result

Visit BatchSimpleAgg , the function should visit the inputs.

Source

fn visit_batch_hash_agg(&mut self, plan: &BatchHashAgg) -> Self::Result

Visit BatchHashAgg , the function should visit the inputs.

Source

fn visit_batch_sort_agg(&mut self, plan: &BatchSortAgg) -> Self::Result

Visit BatchSortAgg , the function should visit the inputs.

Source

fn visit_batch_project(&mut self, plan: &BatchProject) -> Self::Result

Visit BatchProject , the function should visit the inputs.

Source

fn visit_batch_filter(&mut self, plan: &BatchFilter) -> Self::Result

Visit BatchFilter , the function should visit the inputs.

Source

fn visit_batch_insert(&mut self, plan: &BatchInsert) -> Self::Result

Visit BatchInsert , the function should visit the inputs.

Source

fn visit_batch_delete(&mut self, plan: &BatchDelete) -> Self::Result

Visit BatchDelete , the function should visit the inputs.

Source

fn visit_batch_update(&mut self, plan: &BatchUpdate) -> Self::Result

Visit BatchUpdate , the function should visit the inputs.

Source

fn visit_batch_seq_scan(&mut self, plan: &BatchSeqScan) -> Self::Result

Visit BatchSeqScan , the function should visit the inputs.

Source

fn visit_batch_sys_seq_scan(&mut self, plan: &BatchSysSeqScan) -> Self::Result

Visit BatchSysSeqScan , the function should visit the inputs.

Source

fn visit_batch_log_seq_scan(&mut self, plan: &BatchLogSeqScan) -> Self::Result

Visit BatchLogSeqScan , the function should visit the inputs.

Source

fn visit_batch_hash_join(&mut self, plan: &BatchHashJoin) -> Self::Result

Visit BatchHashJoin , the function should visit the inputs.

Source

fn visit_batch_nested_loop_join( &mut self, plan: &BatchNestedLoopJoin, ) -> Self::Result

Visit BatchNestedLoopJoin , the function should visit the inputs.

Source

fn visit_batch_values(&mut self, plan: &BatchValues) -> Self::Result

Visit BatchValues , the function should visit the inputs.

Source

fn visit_batch_sort(&mut self, plan: &BatchSort) -> Self::Result

Visit BatchSort , the function should visit the inputs.

Source

fn visit_batch_exchange(&mut self, plan: &BatchExchange) -> Self::Result

Visit BatchExchange , the function should visit the inputs.

Source

fn visit_batch_limit(&mut self, plan: &BatchLimit) -> Self::Result

Visit BatchLimit , the function should visit the inputs.

Source

fn visit_batch_top_n(&mut self, plan: &BatchTopN) -> Self::Result

Visit BatchTopN , the function should visit the inputs.

Source

fn visit_batch_hop_window(&mut self, plan: &BatchHopWindow) -> Self::Result

Visit BatchHopWindow , the function should visit the inputs.

Source

fn visit_batch_table_function( &mut self, plan: &BatchTableFunction, ) -> Self::Result

Visit BatchTableFunction , the function should visit the inputs.

Source

fn visit_batch_expand(&mut self, plan: &BatchExpand) -> Self::Result

Visit BatchExpand , the function should visit the inputs.

Source

fn visit_batch_lookup_join(&mut self, plan: &BatchLookupJoin) -> Self::Result

Visit BatchLookupJoin , the function should visit the inputs.

Source

fn visit_batch_project_set(&mut self, plan: &BatchProjectSet) -> Self::Result

Visit BatchProjectSet , the function should visit the inputs.

Source

fn visit_batch_union(&mut self, plan: &BatchUnion) -> Self::Result

Visit BatchUnion , the function should visit the inputs.

Source

fn visit_batch_group_top_n(&mut self, plan: &BatchGroupTopN) -> Self::Result

Visit BatchGroupTopN , the function should visit the inputs.

Source

fn visit_batch_source(&mut self, plan: &BatchSource) -> Self::Result

Visit BatchSource , the function should visit the inputs.

Source

fn visit_batch_over_window(&mut self, plan: &BatchOverWindow) -> Self::Result

Visit BatchOverWindow , the function should visit the inputs.

Source

fn visit_batch_max_one_row(&mut self, plan: &BatchMaxOneRow) -> Self::Result

Visit BatchMaxOneRow , the function should visit the inputs.

Source

fn visit_batch_kafka_scan(&mut self, plan: &BatchKafkaScan) -> Self::Result

Visit BatchKafkaScan , the function should visit the inputs.

Source

fn visit_batch_iceberg_scan(&mut self, plan: &BatchIcebergScan) -> Self::Result

Visit BatchIcebergScan , the function should visit the inputs.

Source

fn visit_batch_file_scan(&mut self, plan: &BatchFileScan) -> Self::Result

Visit BatchFileScan , the function should visit the inputs.

Source

fn visit_batch_postgres_query( &mut self, plan: &BatchPostgresQuery, ) -> Self::Result

Visit BatchPostgresQuery , the function should visit the inputs.

Source

fn visit_batch_my_sql_query(&mut self, plan: &BatchMySqlQuery) -> Self::Result

Visit BatchMySqlQuery , 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", so this trait is not object safe.

Implementors§