Trait StreamPlanVisitor

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

Show 42 methods // Required method fn default_behavior() -> Self::DefaultBehavior; // Provided methods fn visit_stream(&mut self, plan: PlanRef<Stream>) -> Self::Result { ... } fn visit_stream_project(&mut self, plan: &StreamProject) -> Self::Result { ... } fn visit_stream_filter(&mut self, plan: &StreamFilter) -> Self::Result { ... } fn visit_stream_table_scan( &mut self, plan: &StreamTableScan, ) -> Self::Result { ... } fn visit_stream_cdc_table_scan( &mut self, plan: &StreamCdcTableScan, ) -> Self::Result { ... } fn visit_stream_sink(&mut self, plan: &StreamSink) -> Self::Result { ... } fn visit_stream_source(&mut self, plan: &StreamSource) -> Self::Result { ... } fn visit_stream_source_scan( &mut self, plan: &StreamSourceScan, ) -> Self::Result { ... } fn visit_stream_hash_join(&mut self, plan: &StreamHashJoin) -> Self::Result { ... } fn visit_stream_exchange(&mut self, plan: &StreamExchange) -> Self::Result { ... } fn visit_stream_hash_agg(&mut self, plan: &StreamHashAgg) -> Self::Result { ... } fn visit_stream_simple_agg( &mut self, plan: &StreamSimpleAgg, ) -> Self::Result { ... } fn visit_stream_stateless_simple_agg( &mut self, plan: &StreamStatelessSimpleAgg, ) -> Self::Result { ... } fn visit_stream_materialize( &mut self, plan: &StreamMaterialize, ) -> Self::Result { ... } fn visit_stream_top_n(&mut self, plan: &StreamTopN) -> Self::Result { ... } fn visit_stream_hop_window( &mut self, plan: &StreamHopWindow, ) -> Self::Result { ... } fn visit_stream_delta_join( &mut self, plan: &StreamDeltaJoin, ) -> Self::Result { ... } fn visit_stream_expand(&mut self, plan: &StreamExpand) -> Self::Result { ... } fn visit_stream_dynamic_filter( &mut self, plan: &StreamDynamicFilter, ) -> Self::Result { ... } fn visit_stream_project_set( &mut self, plan: &StreamProjectSet, ) -> Self::Result { ... } fn visit_stream_group_top_n( &mut self, plan: &StreamGroupTopN, ) -> Self::Result { ... } fn visit_stream_union(&mut self, plan: &StreamUnion) -> Self::Result { ... } fn visit_stream_row_id_gen(&mut self, plan: &StreamRowIdGen) -> Self::Result { ... } fn visit_stream_dml(&mut self, plan: &StreamDml) -> Self::Result { ... } fn visit_stream_now(&mut self, plan: &StreamNow) -> Self::Result { ... } fn visit_stream_share(&mut self, plan: &StreamShare) -> Self::Result { ... } fn visit_stream_watermark_filter( &mut self, plan: &StreamWatermarkFilter, ) -> Self::Result { ... } fn visit_stream_temporal_join( &mut self, plan: &StreamTemporalJoin, ) -> Self::Result { ... } fn visit_stream_values(&mut self, plan: &StreamValues) -> Self::Result { ... } fn visit_stream_dedup(&mut self, plan: &StreamDedup) -> Self::Result { ... } fn visit_stream_eowc_over_window( &mut self, plan: &StreamEowcOverWindow, ) -> Self::Result { ... } fn visit_stream_eowc_sort(&mut self, plan: &StreamEowcSort) -> Self::Result { ... } fn visit_stream_over_window( &mut self, plan: &StreamOverWindow, ) -> Self::Result { ... } fn visit_stream_fs_fetch(&mut self, plan: &StreamFsFetch) -> Self::Result { ... } fn visit_stream_change_log( &mut self, plan: &StreamChangeLog, ) -> Self::Result { ... } fn visit_stream_global_approx_percentile( &mut self, plan: &StreamGlobalApproxPercentile, ) -> Self::Result { ... } fn visit_stream_local_approx_percentile( &mut self, plan: &StreamLocalApproxPercentile, ) -> Self::Result { ... } fn visit_stream_row_merge(&mut self, plan: &StreamRowMerge) -> Self::Result { ... } fn visit_stream_as_of_join(&mut self, plan: &StreamAsOfJoin) -> Self::Result { ... } fn visit_stream_sync_log_store( &mut self, plan: &StreamSyncLogStore, ) -> Self::Result { ... } fn visit_stream_materialized_exprs( &mut self, plan: &StreamMaterializedExprs, ) -> 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_stream(&mut self, plan: PlanRef<Stream>) -> Self::Result

Source

fn visit_stream_project(&mut self, plan: &StreamProject) -> Self::Result

Visit StreamProject , the function should visit the inputs.

Source

fn visit_stream_filter(&mut self, plan: &StreamFilter) -> Self::Result

Visit StreamFilter , the function should visit the inputs.

Source

fn visit_stream_table_scan(&mut self, plan: &StreamTableScan) -> Self::Result

Visit StreamTableScan , the function should visit the inputs.

Source

fn visit_stream_cdc_table_scan( &mut self, plan: &StreamCdcTableScan, ) -> Self::Result

Visit StreamCdcTableScan , the function should visit the inputs.

Source

fn visit_stream_sink(&mut self, plan: &StreamSink) -> Self::Result

Visit StreamSink , the function should visit the inputs.

Source

fn visit_stream_source(&mut self, plan: &StreamSource) -> Self::Result

Visit StreamSource , the function should visit the inputs.

Source

fn visit_stream_source_scan(&mut self, plan: &StreamSourceScan) -> Self::Result

Visit StreamSourceScan , the function should visit the inputs.

Source

fn visit_stream_hash_join(&mut self, plan: &StreamHashJoin) -> Self::Result

Visit StreamHashJoin , the function should visit the inputs.

Source

fn visit_stream_exchange(&mut self, plan: &StreamExchange) -> Self::Result

Visit StreamExchange , the function should visit the inputs.

Source

fn visit_stream_hash_agg(&mut self, plan: &StreamHashAgg) -> Self::Result

Visit StreamHashAgg , the function should visit the inputs.

Source

fn visit_stream_simple_agg(&mut self, plan: &StreamSimpleAgg) -> Self::Result

Visit StreamSimpleAgg , the function should visit the inputs.

Source

fn visit_stream_stateless_simple_agg( &mut self, plan: &StreamStatelessSimpleAgg, ) -> Self::Result

Visit StreamStatelessSimpleAgg , the function should visit the inputs.

Source

fn visit_stream_materialize(&mut self, plan: &StreamMaterialize) -> Self::Result

Visit StreamMaterialize , the function should visit the inputs.

Source

fn visit_stream_top_n(&mut self, plan: &StreamTopN) -> Self::Result

Visit StreamTopN , the function should visit the inputs.

Source

fn visit_stream_hop_window(&mut self, plan: &StreamHopWindow) -> Self::Result

Visit StreamHopWindow , the function should visit the inputs.

Source

fn visit_stream_delta_join(&mut self, plan: &StreamDeltaJoin) -> Self::Result

Visit StreamDeltaJoin , the function should visit the inputs.

Source

fn visit_stream_expand(&mut self, plan: &StreamExpand) -> Self::Result

Visit StreamExpand , the function should visit the inputs.

Source

fn visit_stream_dynamic_filter( &mut self, plan: &StreamDynamicFilter, ) -> Self::Result

Visit StreamDynamicFilter , the function should visit the inputs.

Source

fn visit_stream_project_set(&mut self, plan: &StreamProjectSet) -> Self::Result

Visit StreamProjectSet , the function should visit the inputs.

Source

fn visit_stream_group_top_n(&mut self, plan: &StreamGroupTopN) -> Self::Result

Visit StreamGroupTopN , the function should visit the inputs.

Source

fn visit_stream_union(&mut self, plan: &StreamUnion) -> Self::Result

Visit StreamUnion , the function should visit the inputs.

Source

fn visit_stream_row_id_gen(&mut self, plan: &StreamRowIdGen) -> Self::Result

Visit StreamRowIdGen , the function should visit the inputs.

Source

fn visit_stream_dml(&mut self, plan: &StreamDml) -> Self::Result

Visit StreamDml , the function should visit the inputs.

Source

fn visit_stream_now(&mut self, plan: &StreamNow) -> Self::Result

Visit StreamNow , the function should visit the inputs.

Source

fn visit_stream_share(&mut self, plan: &StreamShare) -> Self::Result

Visit StreamShare , the function should visit the inputs.

Source

fn visit_stream_watermark_filter( &mut self, plan: &StreamWatermarkFilter, ) -> Self::Result

Visit StreamWatermarkFilter , the function should visit the inputs.

Source

fn visit_stream_temporal_join( &mut self, plan: &StreamTemporalJoin, ) -> Self::Result

Visit StreamTemporalJoin , the function should visit the inputs.

Source

fn visit_stream_values(&mut self, plan: &StreamValues) -> Self::Result

Visit StreamValues , the function should visit the inputs.

Source

fn visit_stream_dedup(&mut self, plan: &StreamDedup) -> Self::Result

Visit StreamDedup , the function should visit the inputs.

Source

fn visit_stream_eowc_over_window( &mut self, plan: &StreamEowcOverWindow, ) -> Self::Result

Visit StreamEowcOverWindow , the function should visit the inputs.

Source

fn visit_stream_eowc_sort(&mut self, plan: &StreamEowcSort) -> Self::Result

Visit StreamEowcSort , the function should visit the inputs.

Source

fn visit_stream_over_window(&mut self, plan: &StreamOverWindow) -> Self::Result

Visit StreamOverWindow , the function should visit the inputs.

Source

fn visit_stream_fs_fetch(&mut self, plan: &StreamFsFetch) -> Self::Result

Visit StreamFsFetch , the function should visit the inputs.

Source

fn visit_stream_change_log(&mut self, plan: &StreamChangeLog) -> Self::Result

Visit StreamChangeLog , the function should visit the inputs.

Source

fn visit_stream_global_approx_percentile( &mut self, plan: &StreamGlobalApproxPercentile, ) -> Self::Result

Visit StreamGlobalApproxPercentile , the function should visit the inputs.

Source

fn visit_stream_local_approx_percentile( &mut self, plan: &StreamLocalApproxPercentile, ) -> Self::Result

Visit StreamLocalApproxPercentile , the function should visit the inputs.

Source

fn visit_stream_row_merge(&mut self, plan: &StreamRowMerge) -> Self::Result

Visit StreamRowMerge , the function should visit the inputs.

Source

fn visit_stream_as_of_join(&mut self, plan: &StreamAsOfJoin) -> Self::Result

Visit StreamAsOfJoin , the function should visit the inputs.

Source

fn visit_stream_sync_log_store( &mut self, plan: &StreamSyncLogStore, ) -> Self::Result

Visit StreamSyncLogStore , the function should visit the inputs.

Source

fn visit_stream_materialized_exprs( &mut self, plan: &StreamMaterializedExprs, ) -> Self::Result

Visit StreamMaterializedExprs , 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§