risingwave_frontend::optimizer::plan_visitor

Trait PlanVisitor

source
pub trait PlanVisitor {
    type Result: Default;
    type DefaultBehavior: DefaultBehavior<Self::Result>;

Show 109 methods // Required method fn default_behavior() -> Self::DefaultBehavior; // Provided methods fn visit(&mut self, plan: PlanRef) -> 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_recursive_union( &mut self, plan: &LogicalRecursiveUnion, ) -> Self::Result { ... } fn visit_logical_cte_ref(&mut self, plan: &LogicalCteRef) -> 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_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_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 { ... }
}
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(&mut self, plan: PlanRef) -> Self::Result

source

fn visit_logical_agg(&mut self, plan: &LogicalAgg) -> Self::Result

Visit LogicalAgg , the function should visit the inputs.

source

fn visit_logical_apply(&mut self, plan: &LogicalApply) -> Self::Result

Visit LogicalApply , the function should visit the inputs.

source

fn visit_logical_filter(&mut self, plan: &LogicalFilter) -> Self::Result

Visit LogicalFilter , the function should visit the inputs.

source

fn visit_logical_project(&mut self, plan: &LogicalProject) -> Self::Result

Visit LogicalProject , the function should visit the inputs.

source

fn visit_logical_scan(&mut self, plan: &LogicalScan) -> Self::Result

Visit LogicalScan , the function should visit the inputs.

source

fn visit_logical_cdc_scan(&mut self, plan: &LogicalCdcScan) -> Self::Result

Visit LogicalCdcScan , the function should visit the inputs.

source

fn visit_logical_sys_scan(&mut self, plan: &LogicalSysScan) -> Self::Result

Visit LogicalSysScan , the function should visit the inputs.

source

fn visit_logical_source(&mut self, plan: &LogicalSource) -> Self::Result

Visit LogicalSource , the function should visit the inputs.

source

fn visit_logical_insert(&mut self, plan: &LogicalInsert) -> Self::Result

Visit LogicalInsert , the function should visit the inputs.

source

fn visit_logical_delete(&mut self, plan: &LogicalDelete) -> Self::Result

Visit LogicalDelete , the function should visit the inputs.

source

fn visit_logical_update(&mut self, plan: &LogicalUpdate) -> Self::Result

Visit LogicalUpdate , the function should visit the inputs.

source

fn visit_logical_join(&mut self, plan: &LogicalJoin) -> Self::Result

Visit LogicalJoin , the function should visit the inputs.

source

fn visit_logical_values(&mut self, plan: &LogicalValues) -> Self::Result

Visit LogicalValues , the function should visit the inputs.

source

fn visit_logical_limit(&mut self, plan: &LogicalLimit) -> Self::Result

Visit LogicalLimit , the function should visit the inputs.

source

fn visit_logical_top_n(&mut self, plan: &LogicalTopN) -> Self::Result

Visit LogicalTopN , the function should visit the inputs.

source

fn visit_logical_hop_window(&mut self, plan: &LogicalHopWindow) -> Self::Result

Visit LogicalHopWindow , the function should visit the inputs.

source

fn visit_logical_table_function( &mut self, plan: &LogicalTableFunction, ) -> Self::Result

Visit LogicalTableFunction , the function should visit the inputs.

source

fn visit_logical_multi_join(&mut self, plan: &LogicalMultiJoin) -> Self::Result

Visit LogicalMultiJoin , the function should visit the inputs.

source

fn visit_logical_expand(&mut self, plan: &LogicalExpand) -> Self::Result

Visit LogicalExpand , the function should visit the inputs.

source

fn visit_logical_project_set( &mut self, plan: &LogicalProjectSet, ) -> Self::Result

Visit LogicalProjectSet , the function should visit the inputs.

source

fn visit_logical_union(&mut self, plan: &LogicalUnion) -> Self::Result

Visit LogicalUnion , the function should visit the inputs.

source

fn visit_logical_over_window( &mut self, plan: &LogicalOverWindow, ) -> Self::Result

Visit LogicalOverWindow , the function should visit the inputs.

source

fn visit_logical_share(&mut self, plan: &LogicalShare) -> Self::Result

Visit LogicalShare , the function should visit the inputs.

source

fn visit_logical_now(&mut self, plan: &LogicalNow) -> Self::Result

Visit LogicalNow , the function should visit the inputs.

source

fn visit_logical_dedup(&mut self, plan: &LogicalDedup) -> Self::Result

Visit LogicalDedup , the function should visit the inputs.

source

fn visit_logical_intersect(&mut self, plan: &LogicalIntersect) -> Self::Result

Visit LogicalIntersect , the function should visit the inputs.

source

fn visit_logical_except(&mut self, plan: &LogicalExcept) -> Self::Result

Visit LogicalExcept , the function should visit the inputs.

source

fn visit_logical_max_one_row(&mut self, plan: &LogicalMaxOneRow) -> Self::Result

Visit LogicalMaxOneRow , the function should visit the inputs.

source

fn visit_logical_kafka_scan(&mut self, plan: &LogicalKafkaScan) -> Self::Result

Visit LogicalKafkaScan , the function should visit the inputs.

source

fn visit_logical_iceberg_scan( &mut self, plan: &LogicalIcebergScan, ) -> Self::Result

Visit LogicalIcebergScan , the function should visit the inputs.

source

fn visit_logical_recursive_union( &mut self, plan: &LogicalRecursiveUnion, ) -> Self::Result

Visit LogicalRecursiveUnion , the function should visit the inputs.

source

fn visit_logical_cte_ref(&mut self, plan: &LogicalCteRef) -> Self::Result

Visit LogicalCteRef , the function should visit the inputs.

source

fn visit_logical_change_log(&mut self, plan: &LogicalChangeLog) -> Self::Result

Visit LogicalChangeLog , the function should visit the inputs.

source

fn visit_logical_file_scan(&mut self, plan: &LogicalFileScan) -> Self::Result

Visit LogicalFileScan , the function should visit the inputs.

source

fn visit_logical_postgres_query( &mut self, plan: &LogicalPostgresQuery, ) -> Self::Result

Visit LogicalPostgresQuery , the function should visit the inputs.

source

fn visit_logical_my_sql_query( &mut self, plan: &LogicalMySqlQuery, ) -> Self::Result

Visit LogicalMySqlQuery , the function should visit the inputs.

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.

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.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl PlanVisitor for SourceCounter

source§

impl PlanVisitor for CheckApplyElimination

source§

impl PlanVisitor for HasMaxOneRowApply

source§

impl PlanVisitor for CardinalityVisitor

source§

impl PlanVisitor for DistributedDmlVisitor

source§

impl PlanVisitor for ExecutionModeDecider

source§

impl PlanVisitor for InputRefValidator

source§

impl PlanVisitor for StreamKeyChecker

source§

impl PlanVisitor for PlanCorrelatedIdFinder

source§

impl PlanVisitor for ReadStorageTableVisitor

source§

impl PlanVisitor for RelationCollectorVisitor

source§

impl PlanVisitor for RwTimestampValidator

source§

impl PlanVisitor for ShareParentCounter

source§

impl PlanVisitor for SideEffectVisitor

source§

impl PlanVisitor for SysTableVisitor

source§

impl PlanVisitor for TemporalJoinValidator