pub trait PlanRewriter {
Show 108 methods
// Required methods
fn rewrite_logical_share(&mut self, plan: &LogicalShare) -> PlanRef;
fn rewrite_stream_share(&mut self, plan: &StreamShare) -> PlanRef;
// Provided methods
fn rewrite(&mut self, plan: PlanRef) -> PlanRef { ... }
fn rewrite_logical_agg(&mut self, plan: &LogicalAgg) -> PlanRef { ... }
fn rewrite_logical_apply(&mut self, plan: &LogicalApply) -> PlanRef { ... }
fn rewrite_logical_filter(&mut self, plan: &LogicalFilter) -> PlanRef { ... }
fn rewrite_logical_project(&mut self, plan: &LogicalProject) -> PlanRef { ... }
fn rewrite_logical_scan(&mut self, plan: &LogicalScan) -> PlanRef { ... }
fn rewrite_logical_cdc_scan(&mut self, plan: &LogicalCdcScan) -> PlanRef { ... }
fn rewrite_logical_sys_scan(&mut self, plan: &LogicalSysScan) -> PlanRef { ... }
fn rewrite_logical_source(&mut self, plan: &LogicalSource) -> PlanRef { ... }
fn rewrite_logical_insert(&mut self, plan: &LogicalInsert) -> PlanRef { ... }
fn rewrite_logical_delete(&mut self, plan: &LogicalDelete) -> PlanRef { ... }
fn rewrite_logical_update(&mut self, plan: &LogicalUpdate) -> PlanRef { ... }
fn rewrite_logical_join(&mut self, plan: &LogicalJoin) -> PlanRef { ... }
fn rewrite_logical_values(&mut self, plan: &LogicalValues) -> PlanRef { ... }
fn rewrite_logical_limit(&mut self, plan: &LogicalLimit) -> PlanRef { ... }
fn rewrite_logical_top_n(&mut self, plan: &LogicalTopN) -> PlanRef { ... }
fn rewrite_logical_hop_window(&mut self, plan: &LogicalHopWindow) -> PlanRef { ... }
fn rewrite_logical_table_function(
&mut self,
plan: &LogicalTableFunction,
) -> PlanRef { ... }
fn rewrite_logical_multi_join(&mut self, plan: &LogicalMultiJoin) -> PlanRef { ... }
fn rewrite_logical_expand(&mut self, plan: &LogicalExpand) -> PlanRef { ... }
fn rewrite_logical_project_set(
&mut self,
plan: &LogicalProjectSet,
) -> PlanRef { ... }
fn rewrite_logical_union(&mut self, plan: &LogicalUnion) -> PlanRef { ... }
fn rewrite_logical_over_window(
&mut self,
plan: &LogicalOverWindow,
) -> PlanRef { ... }
fn rewrite_logical_now(&mut self, plan: &LogicalNow) -> PlanRef { ... }
fn rewrite_logical_dedup(&mut self, plan: &LogicalDedup) -> PlanRef { ... }
fn rewrite_logical_intersect(&mut self, plan: &LogicalIntersect) -> PlanRef { ... }
fn rewrite_logical_except(&mut self, plan: &LogicalExcept) -> PlanRef { ... }
fn rewrite_logical_max_one_row(
&mut self,
plan: &LogicalMaxOneRow,
) -> PlanRef { ... }
fn rewrite_logical_kafka_scan(&mut self, plan: &LogicalKafkaScan) -> PlanRef { ... }
fn rewrite_logical_iceberg_scan(
&mut self,
plan: &LogicalIcebergScan,
) -> PlanRef { ... }
fn rewrite_logical_recursive_union(
&mut self,
plan: &LogicalRecursiveUnion,
) -> PlanRef { ... }
fn rewrite_logical_cte_ref(&mut self, plan: &LogicalCteRef) -> PlanRef { ... }
fn rewrite_logical_change_log(&mut self, plan: &LogicalChangeLog) -> PlanRef { ... }
fn rewrite_logical_file_scan(&mut self, plan: &LogicalFileScan) -> PlanRef { ... }
fn rewrite_logical_postgres_query(
&mut self,
plan: &LogicalPostgresQuery,
) -> PlanRef { ... }
fn rewrite_logical_my_sql_query(
&mut self,
plan: &LogicalMySqlQuery,
) -> PlanRef { ... }
fn rewrite_batch_simple_agg(&mut self, plan: &BatchSimpleAgg) -> PlanRef { ... }
fn rewrite_batch_hash_agg(&mut self, plan: &BatchHashAgg) -> PlanRef { ... }
fn rewrite_batch_sort_agg(&mut self, plan: &BatchSortAgg) -> PlanRef { ... }
fn rewrite_batch_project(&mut self, plan: &BatchProject) -> PlanRef { ... }
fn rewrite_batch_filter(&mut self, plan: &BatchFilter) -> PlanRef { ... }
fn rewrite_batch_insert(&mut self, plan: &BatchInsert) -> PlanRef { ... }
fn rewrite_batch_delete(&mut self, plan: &BatchDelete) -> PlanRef { ... }
fn rewrite_batch_update(&mut self, plan: &BatchUpdate) -> PlanRef { ... }
fn rewrite_batch_seq_scan(&mut self, plan: &BatchSeqScan) -> PlanRef { ... }
fn rewrite_batch_sys_seq_scan(&mut self, plan: &BatchSysSeqScan) -> PlanRef { ... }
fn rewrite_batch_log_seq_scan(&mut self, plan: &BatchLogSeqScan) -> PlanRef { ... }
fn rewrite_batch_hash_join(&mut self, plan: &BatchHashJoin) -> PlanRef { ... }
fn rewrite_batch_nested_loop_join(
&mut self,
plan: &BatchNestedLoopJoin,
) -> PlanRef { ... }
fn rewrite_batch_values(&mut self, plan: &BatchValues) -> PlanRef { ... }
fn rewrite_batch_sort(&mut self, plan: &BatchSort) -> PlanRef { ... }
fn rewrite_batch_exchange(&mut self, plan: &BatchExchange) -> PlanRef { ... }
fn rewrite_batch_limit(&mut self, plan: &BatchLimit) -> PlanRef { ... }
fn rewrite_batch_top_n(&mut self, plan: &BatchTopN) -> PlanRef { ... }
fn rewrite_batch_hop_window(&mut self, plan: &BatchHopWindow) -> PlanRef { ... }
fn rewrite_batch_table_function(
&mut self,
plan: &BatchTableFunction,
) -> PlanRef { ... }
fn rewrite_batch_expand(&mut self, plan: &BatchExpand) -> PlanRef { ... }
fn rewrite_batch_lookup_join(&mut self, plan: &BatchLookupJoin) -> PlanRef { ... }
fn rewrite_batch_project_set(&mut self, plan: &BatchProjectSet) -> PlanRef { ... }
fn rewrite_batch_union(&mut self, plan: &BatchUnion) -> PlanRef { ... }
fn rewrite_batch_group_top_n(&mut self, plan: &BatchGroupTopN) -> PlanRef { ... }
fn rewrite_batch_source(&mut self, plan: &BatchSource) -> PlanRef { ... }
fn rewrite_batch_over_window(&mut self, plan: &BatchOverWindow) -> PlanRef { ... }
fn rewrite_batch_max_one_row(&mut self, plan: &BatchMaxOneRow) -> PlanRef { ... }
fn rewrite_batch_kafka_scan(&mut self, plan: &BatchKafkaScan) -> PlanRef { ... }
fn rewrite_batch_iceberg_scan(&mut self, plan: &BatchIcebergScan) -> PlanRef { ... }
fn rewrite_batch_file_scan(&mut self, plan: &BatchFileScan) -> PlanRef { ... }
fn rewrite_batch_postgres_query(
&mut self,
plan: &BatchPostgresQuery,
) -> PlanRef { ... }
fn rewrite_batch_my_sql_query(&mut self, plan: &BatchMySqlQuery) -> PlanRef { ... }
fn rewrite_stream_project(&mut self, plan: &StreamProject) -> PlanRef { ... }
fn rewrite_stream_filter(&mut self, plan: &StreamFilter) -> PlanRef { ... }
fn rewrite_stream_table_scan(&mut self, plan: &StreamTableScan) -> PlanRef { ... }
fn rewrite_stream_cdc_table_scan(
&mut self,
plan: &StreamCdcTableScan,
) -> PlanRef { ... }
fn rewrite_stream_sink(&mut self, plan: &StreamSink) -> PlanRef { ... }
fn rewrite_stream_source(&mut self, plan: &StreamSource) -> PlanRef { ... }
fn rewrite_stream_source_scan(&mut self, plan: &StreamSourceScan) -> PlanRef { ... }
fn rewrite_stream_hash_join(&mut self, plan: &StreamHashJoin) -> PlanRef { ... }
fn rewrite_stream_exchange(&mut self, plan: &StreamExchange) -> PlanRef { ... }
fn rewrite_stream_hash_agg(&mut self, plan: &StreamHashAgg) -> PlanRef { ... }
fn rewrite_stream_simple_agg(&mut self, plan: &StreamSimpleAgg) -> PlanRef { ... }
fn rewrite_stream_stateless_simple_agg(
&mut self,
plan: &StreamStatelessSimpleAgg,
) -> PlanRef { ... }
fn rewrite_stream_materialize(
&mut self,
plan: &StreamMaterialize,
) -> PlanRef { ... }
fn rewrite_stream_top_n(&mut self, plan: &StreamTopN) -> PlanRef { ... }
fn rewrite_stream_hop_window(&mut self, plan: &StreamHopWindow) -> PlanRef { ... }
fn rewrite_stream_delta_join(&mut self, plan: &StreamDeltaJoin) -> PlanRef { ... }
fn rewrite_stream_expand(&mut self, plan: &StreamExpand) -> PlanRef { ... }
fn rewrite_stream_dynamic_filter(
&mut self,
plan: &StreamDynamicFilter,
) -> PlanRef { ... }
fn rewrite_stream_project_set(&mut self, plan: &StreamProjectSet) -> PlanRef { ... }
fn rewrite_stream_group_top_n(&mut self, plan: &StreamGroupTopN) -> PlanRef { ... }
fn rewrite_stream_union(&mut self, plan: &StreamUnion) -> PlanRef { ... }
fn rewrite_stream_row_id_gen(&mut self, plan: &StreamRowIdGen) -> PlanRef { ... }
fn rewrite_stream_dml(&mut self, plan: &StreamDml) -> PlanRef { ... }
fn rewrite_stream_now(&mut self, plan: &StreamNow) -> PlanRef { ... }
fn rewrite_stream_watermark_filter(
&mut self,
plan: &StreamWatermarkFilter,
) -> PlanRef { ... }
fn rewrite_stream_temporal_join(
&mut self,
plan: &StreamTemporalJoin,
) -> PlanRef { ... }
fn rewrite_stream_values(&mut self, plan: &StreamValues) -> PlanRef { ... }
fn rewrite_stream_dedup(&mut self, plan: &StreamDedup) -> PlanRef { ... }
fn rewrite_stream_eowc_over_window(
&mut self,
plan: &StreamEowcOverWindow,
) -> PlanRef { ... }
fn rewrite_stream_eowc_sort(&mut self, plan: &StreamEowcSort) -> PlanRef { ... }
fn rewrite_stream_over_window(&mut self, plan: &StreamOverWindow) -> PlanRef { ... }
fn rewrite_stream_fs_fetch(&mut self, plan: &StreamFsFetch) -> PlanRef { ... }
fn rewrite_stream_change_log(&mut self, plan: &StreamChangeLog) -> PlanRef { ... }
fn rewrite_stream_global_approx_percentile(
&mut self,
plan: &StreamGlobalApproxPercentile,
) -> PlanRef { ... }
fn rewrite_stream_local_approx_percentile(
&mut self,
plan: &StreamLocalApproxPercentile,
) -> PlanRef { ... }
fn rewrite_stream_row_merge(&mut self, plan: &StreamRowMerge) -> PlanRef { ... }
fn rewrite_stream_as_of_join(&mut self, plan: &StreamAsOfJoin) -> PlanRef { ... }
}
Expand description
it’s kind of like a PlanVisitor<PlanRef>
, but with default behaviour of each rewrite method
Required Methods§
When we use the plan rewriter, we need to take care of the share operator, because our plan is a DAG rather than a tree. Make sure this method can keep the shape of DAG.
When we use the plan rewriter, we need to take care of the share operator, because our plan is a DAG rather than a tree. Make sure this method can keep the shape of DAG.
Provided Methods§
fn rewrite(&mut self, plan: PlanRef) -> PlanRef
sourcefn rewrite_logical_agg(&mut self, plan: &LogicalAgg) -> PlanRef
fn rewrite_logical_agg(&mut self, plan: &LogicalAgg) -> PlanRef
Visit LogicalAgg
, the function should rewrite the inputs.
sourcefn rewrite_logical_apply(&mut self, plan: &LogicalApply) -> PlanRef
fn rewrite_logical_apply(&mut self, plan: &LogicalApply) -> PlanRef
Visit LogicalApply
, the function should rewrite the inputs.
sourcefn rewrite_logical_filter(&mut self, plan: &LogicalFilter) -> PlanRef
fn rewrite_logical_filter(&mut self, plan: &LogicalFilter) -> PlanRef
Visit LogicalFilter
, the function should rewrite the inputs.
sourcefn rewrite_logical_project(&mut self, plan: &LogicalProject) -> PlanRef
fn rewrite_logical_project(&mut self, plan: &LogicalProject) -> PlanRef
Visit LogicalProject
, the function should rewrite the inputs.
sourcefn rewrite_logical_scan(&mut self, plan: &LogicalScan) -> PlanRef
fn rewrite_logical_scan(&mut self, plan: &LogicalScan) -> PlanRef
Visit LogicalScan
, the function should rewrite the inputs.
sourcefn rewrite_logical_cdc_scan(&mut self, plan: &LogicalCdcScan) -> PlanRef
fn rewrite_logical_cdc_scan(&mut self, plan: &LogicalCdcScan) -> PlanRef
Visit LogicalCdcScan
, the function should rewrite the inputs.
sourcefn rewrite_logical_sys_scan(&mut self, plan: &LogicalSysScan) -> PlanRef
fn rewrite_logical_sys_scan(&mut self, plan: &LogicalSysScan) -> PlanRef
Visit LogicalSysScan
, the function should rewrite the inputs.
sourcefn rewrite_logical_source(&mut self, plan: &LogicalSource) -> PlanRef
fn rewrite_logical_source(&mut self, plan: &LogicalSource) -> PlanRef
Visit LogicalSource
, the function should rewrite the inputs.
sourcefn rewrite_logical_insert(&mut self, plan: &LogicalInsert) -> PlanRef
fn rewrite_logical_insert(&mut self, plan: &LogicalInsert) -> PlanRef
Visit LogicalInsert
, the function should rewrite the inputs.
sourcefn rewrite_logical_delete(&mut self, plan: &LogicalDelete) -> PlanRef
fn rewrite_logical_delete(&mut self, plan: &LogicalDelete) -> PlanRef
Visit LogicalDelete
, the function should rewrite the inputs.
sourcefn rewrite_logical_update(&mut self, plan: &LogicalUpdate) -> PlanRef
fn rewrite_logical_update(&mut self, plan: &LogicalUpdate) -> PlanRef
Visit LogicalUpdate
, the function should rewrite the inputs.
sourcefn rewrite_logical_join(&mut self, plan: &LogicalJoin) -> PlanRef
fn rewrite_logical_join(&mut self, plan: &LogicalJoin) -> PlanRef
Visit LogicalJoin
, the function should rewrite the inputs.
sourcefn rewrite_logical_values(&mut self, plan: &LogicalValues) -> PlanRef
fn rewrite_logical_values(&mut self, plan: &LogicalValues) -> PlanRef
Visit LogicalValues
, the function should rewrite the inputs.
sourcefn rewrite_logical_limit(&mut self, plan: &LogicalLimit) -> PlanRef
fn rewrite_logical_limit(&mut self, plan: &LogicalLimit) -> PlanRef
Visit LogicalLimit
, the function should rewrite the inputs.
sourcefn rewrite_logical_top_n(&mut self, plan: &LogicalTopN) -> PlanRef
fn rewrite_logical_top_n(&mut self, plan: &LogicalTopN) -> PlanRef
Visit LogicalTopN
, the function should rewrite the inputs.
sourcefn rewrite_logical_hop_window(&mut self, plan: &LogicalHopWindow) -> PlanRef
fn rewrite_logical_hop_window(&mut self, plan: &LogicalHopWindow) -> PlanRef
Visit LogicalHopWindow
, the function should rewrite the inputs.
sourcefn rewrite_logical_table_function(
&mut self,
plan: &LogicalTableFunction,
) -> PlanRef
fn rewrite_logical_table_function( &mut self, plan: &LogicalTableFunction, ) -> PlanRef
Visit LogicalTableFunction
, the function should rewrite the inputs.
sourcefn rewrite_logical_multi_join(&mut self, plan: &LogicalMultiJoin) -> PlanRef
fn rewrite_logical_multi_join(&mut self, plan: &LogicalMultiJoin) -> PlanRef
Visit LogicalMultiJoin
, the function should rewrite the inputs.
sourcefn rewrite_logical_expand(&mut self, plan: &LogicalExpand) -> PlanRef
fn rewrite_logical_expand(&mut self, plan: &LogicalExpand) -> PlanRef
Visit LogicalExpand
, the function should rewrite the inputs.
sourcefn rewrite_logical_project_set(&mut self, plan: &LogicalProjectSet) -> PlanRef
fn rewrite_logical_project_set(&mut self, plan: &LogicalProjectSet) -> PlanRef
Visit LogicalProjectSet
, the function should rewrite the inputs.
sourcefn rewrite_logical_union(&mut self, plan: &LogicalUnion) -> PlanRef
fn rewrite_logical_union(&mut self, plan: &LogicalUnion) -> PlanRef
Visit LogicalUnion
, the function should rewrite the inputs.
sourcefn rewrite_logical_over_window(&mut self, plan: &LogicalOverWindow) -> PlanRef
fn rewrite_logical_over_window(&mut self, plan: &LogicalOverWindow) -> PlanRef
Visit LogicalOverWindow
, the function should rewrite the inputs.
sourcefn rewrite_logical_now(&mut self, plan: &LogicalNow) -> PlanRef
fn rewrite_logical_now(&mut self, plan: &LogicalNow) -> PlanRef
Visit LogicalNow
, the function should rewrite the inputs.
sourcefn rewrite_logical_dedup(&mut self, plan: &LogicalDedup) -> PlanRef
fn rewrite_logical_dedup(&mut self, plan: &LogicalDedup) -> PlanRef
Visit LogicalDedup
, the function should rewrite the inputs.
sourcefn rewrite_logical_intersect(&mut self, plan: &LogicalIntersect) -> PlanRef
fn rewrite_logical_intersect(&mut self, plan: &LogicalIntersect) -> PlanRef
Visit LogicalIntersect
, the function should rewrite the inputs.
sourcefn rewrite_logical_except(&mut self, plan: &LogicalExcept) -> PlanRef
fn rewrite_logical_except(&mut self, plan: &LogicalExcept) -> PlanRef
Visit LogicalExcept
, the function should rewrite the inputs.
sourcefn rewrite_logical_max_one_row(&mut self, plan: &LogicalMaxOneRow) -> PlanRef
fn rewrite_logical_max_one_row(&mut self, plan: &LogicalMaxOneRow) -> PlanRef
Visit LogicalMaxOneRow
, the function should rewrite the inputs.
sourcefn rewrite_logical_kafka_scan(&mut self, plan: &LogicalKafkaScan) -> PlanRef
fn rewrite_logical_kafka_scan(&mut self, plan: &LogicalKafkaScan) -> PlanRef
Visit LogicalKafkaScan
, the function should rewrite the inputs.
sourcefn rewrite_logical_iceberg_scan(&mut self, plan: &LogicalIcebergScan) -> PlanRef
fn rewrite_logical_iceberg_scan(&mut self, plan: &LogicalIcebergScan) -> PlanRef
Visit LogicalIcebergScan
, the function should rewrite the inputs.
sourcefn rewrite_logical_recursive_union(
&mut self,
plan: &LogicalRecursiveUnion,
) -> PlanRef
fn rewrite_logical_recursive_union( &mut self, plan: &LogicalRecursiveUnion, ) -> PlanRef
Visit LogicalRecursiveUnion
, the function should rewrite the inputs.
sourcefn rewrite_logical_cte_ref(&mut self, plan: &LogicalCteRef) -> PlanRef
fn rewrite_logical_cte_ref(&mut self, plan: &LogicalCteRef) -> PlanRef
Visit LogicalCteRef
, the function should rewrite the inputs.
sourcefn rewrite_logical_change_log(&mut self, plan: &LogicalChangeLog) -> PlanRef
fn rewrite_logical_change_log(&mut self, plan: &LogicalChangeLog) -> PlanRef
Visit LogicalChangeLog
, the function should rewrite the inputs.
sourcefn rewrite_logical_file_scan(&mut self, plan: &LogicalFileScan) -> PlanRef
fn rewrite_logical_file_scan(&mut self, plan: &LogicalFileScan) -> PlanRef
Visit LogicalFileScan
, the function should rewrite the inputs.
sourcefn rewrite_logical_postgres_query(
&mut self,
plan: &LogicalPostgresQuery,
) -> PlanRef
fn rewrite_logical_postgres_query( &mut self, plan: &LogicalPostgresQuery, ) -> PlanRef
Visit LogicalPostgresQuery
, the function should rewrite the inputs.
sourcefn rewrite_logical_my_sql_query(&mut self, plan: &LogicalMySqlQuery) -> PlanRef
fn rewrite_logical_my_sql_query(&mut self, plan: &LogicalMySqlQuery) -> PlanRef
Visit LogicalMySqlQuery
, the function should rewrite the inputs.
sourcefn rewrite_batch_simple_agg(&mut self, plan: &BatchSimpleAgg) -> PlanRef
fn rewrite_batch_simple_agg(&mut self, plan: &BatchSimpleAgg) -> PlanRef
Visit BatchSimpleAgg
, the function should rewrite the inputs.
sourcefn rewrite_batch_hash_agg(&mut self, plan: &BatchHashAgg) -> PlanRef
fn rewrite_batch_hash_agg(&mut self, plan: &BatchHashAgg) -> PlanRef
Visit BatchHashAgg
, the function should rewrite the inputs.
sourcefn rewrite_batch_sort_agg(&mut self, plan: &BatchSortAgg) -> PlanRef
fn rewrite_batch_sort_agg(&mut self, plan: &BatchSortAgg) -> PlanRef
Visit BatchSortAgg
, the function should rewrite the inputs.
sourcefn rewrite_batch_project(&mut self, plan: &BatchProject) -> PlanRef
fn rewrite_batch_project(&mut self, plan: &BatchProject) -> PlanRef
Visit BatchProject
, the function should rewrite the inputs.
sourcefn rewrite_batch_filter(&mut self, plan: &BatchFilter) -> PlanRef
fn rewrite_batch_filter(&mut self, plan: &BatchFilter) -> PlanRef
Visit BatchFilter
, the function should rewrite the inputs.
sourcefn rewrite_batch_insert(&mut self, plan: &BatchInsert) -> PlanRef
fn rewrite_batch_insert(&mut self, plan: &BatchInsert) -> PlanRef
Visit BatchInsert
, the function should rewrite the inputs.
sourcefn rewrite_batch_delete(&mut self, plan: &BatchDelete) -> PlanRef
fn rewrite_batch_delete(&mut self, plan: &BatchDelete) -> PlanRef
Visit BatchDelete
, the function should rewrite the inputs.
sourcefn rewrite_batch_update(&mut self, plan: &BatchUpdate) -> PlanRef
fn rewrite_batch_update(&mut self, plan: &BatchUpdate) -> PlanRef
Visit BatchUpdate
, the function should rewrite the inputs.
sourcefn rewrite_batch_seq_scan(&mut self, plan: &BatchSeqScan) -> PlanRef
fn rewrite_batch_seq_scan(&mut self, plan: &BatchSeqScan) -> PlanRef
Visit BatchSeqScan
, the function should rewrite the inputs.
sourcefn rewrite_batch_sys_seq_scan(&mut self, plan: &BatchSysSeqScan) -> PlanRef
fn rewrite_batch_sys_seq_scan(&mut self, plan: &BatchSysSeqScan) -> PlanRef
Visit BatchSysSeqScan
, the function should rewrite the inputs.
sourcefn rewrite_batch_log_seq_scan(&mut self, plan: &BatchLogSeqScan) -> PlanRef
fn rewrite_batch_log_seq_scan(&mut self, plan: &BatchLogSeqScan) -> PlanRef
Visit BatchLogSeqScan
, the function should rewrite the inputs.
sourcefn rewrite_batch_hash_join(&mut self, plan: &BatchHashJoin) -> PlanRef
fn rewrite_batch_hash_join(&mut self, plan: &BatchHashJoin) -> PlanRef
Visit BatchHashJoin
, the function should rewrite the inputs.
sourcefn rewrite_batch_nested_loop_join(
&mut self,
plan: &BatchNestedLoopJoin,
) -> PlanRef
fn rewrite_batch_nested_loop_join( &mut self, plan: &BatchNestedLoopJoin, ) -> PlanRef
Visit BatchNestedLoopJoin
, the function should rewrite the inputs.
sourcefn rewrite_batch_values(&mut self, plan: &BatchValues) -> PlanRef
fn rewrite_batch_values(&mut self, plan: &BatchValues) -> PlanRef
Visit BatchValues
, the function should rewrite the inputs.
sourcefn rewrite_batch_sort(&mut self, plan: &BatchSort) -> PlanRef
fn rewrite_batch_sort(&mut self, plan: &BatchSort) -> PlanRef
Visit BatchSort
, the function should rewrite the inputs.
sourcefn rewrite_batch_exchange(&mut self, plan: &BatchExchange) -> PlanRef
fn rewrite_batch_exchange(&mut self, plan: &BatchExchange) -> PlanRef
Visit BatchExchange
, the function should rewrite the inputs.
sourcefn rewrite_batch_limit(&mut self, plan: &BatchLimit) -> PlanRef
fn rewrite_batch_limit(&mut self, plan: &BatchLimit) -> PlanRef
Visit BatchLimit
, the function should rewrite the inputs.
sourcefn rewrite_batch_top_n(&mut self, plan: &BatchTopN) -> PlanRef
fn rewrite_batch_top_n(&mut self, plan: &BatchTopN) -> PlanRef
Visit BatchTopN
, the function should rewrite the inputs.
sourcefn rewrite_batch_hop_window(&mut self, plan: &BatchHopWindow) -> PlanRef
fn rewrite_batch_hop_window(&mut self, plan: &BatchHopWindow) -> PlanRef
Visit BatchHopWindow
, the function should rewrite the inputs.
sourcefn rewrite_batch_table_function(&mut self, plan: &BatchTableFunction) -> PlanRef
fn rewrite_batch_table_function(&mut self, plan: &BatchTableFunction) -> PlanRef
Visit BatchTableFunction
, the function should rewrite the inputs.
sourcefn rewrite_batch_expand(&mut self, plan: &BatchExpand) -> PlanRef
fn rewrite_batch_expand(&mut self, plan: &BatchExpand) -> PlanRef
Visit BatchExpand
, the function should rewrite the inputs.
sourcefn rewrite_batch_lookup_join(&mut self, plan: &BatchLookupJoin) -> PlanRef
fn rewrite_batch_lookup_join(&mut self, plan: &BatchLookupJoin) -> PlanRef
Visit BatchLookupJoin
, the function should rewrite the inputs.
sourcefn rewrite_batch_project_set(&mut self, plan: &BatchProjectSet) -> PlanRef
fn rewrite_batch_project_set(&mut self, plan: &BatchProjectSet) -> PlanRef
Visit BatchProjectSet
, the function should rewrite the inputs.
sourcefn rewrite_batch_union(&mut self, plan: &BatchUnion) -> PlanRef
fn rewrite_batch_union(&mut self, plan: &BatchUnion) -> PlanRef
Visit BatchUnion
, the function should rewrite the inputs.
sourcefn rewrite_batch_group_top_n(&mut self, plan: &BatchGroupTopN) -> PlanRef
fn rewrite_batch_group_top_n(&mut self, plan: &BatchGroupTopN) -> PlanRef
Visit BatchGroupTopN
, the function should rewrite the inputs.
sourcefn rewrite_batch_source(&mut self, plan: &BatchSource) -> PlanRef
fn rewrite_batch_source(&mut self, plan: &BatchSource) -> PlanRef
Visit BatchSource
, the function should rewrite the inputs.
sourcefn rewrite_batch_over_window(&mut self, plan: &BatchOverWindow) -> PlanRef
fn rewrite_batch_over_window(&mut self, plan: &BatchOverWindow) -> PlanRef
Visit BatchOverWindow
, the function should rewrite the inputs.
sourcefn rewrite_batch_max_one_row(&mut self, plan: &BatchMaxOneRow) -> PlanRef
fn rewrite_batch_max_one_row(&mut self, plan: &BatchMaxOneRow) -> PlanRef
Visit BatchMaxOneRow
, the function should rewrite the inputs.
sourcefn rewrite_batch_kafka_scan(&mut self, plan: &BatchKafkaScan) -> PlanRef
fn rewrite_batch_kafka_scan(&mut self, plan: &BatchKafkaScan) -> PlanRef
Visit BatchKafkaScan
, the function should rewrite the inputs.
sourcefn rewrite_batch_iceberg_scan(&mut self, plan: &BatchIcebergScan) -> PlanRef
fn rewrite_batch_iceberg_scan(&mut self, plan: &BatchIcebergScan) -> PlanRef
Visit BatchIcebergScan
, the function should rewrite the inputs.
sourcefn rewrite_batch_file_scan(&mut self, plan: &BatchFileScan) -> PlanRef
fn rewrite_batch_file_scan(&mut self, plan: &BatchFileScan) -> PlanRef
Visit BatchFileScan
, the function should rewrite the inputs.
sourcefn rewrite_batch_postgres_query(&mut self, plan: &BatchPostgresQuery) -> PlanRef
fn rewrite_batch_postgres_query(&mut self, plan: &BatchPostgresQuery) -> PlanRef
Visit BatchPostgresQuery
, the function should rewrite the inputs.
sourcefn rewrite_batch_my_sql_query(&mut self, plan: &BatchMySqlQuery) -> PlanRef
fn rewrite_batch_my_sql_query(&mut self, plan: &BatchMySqlQuery) -> PlanRef
Visit BatchMySqlQuery
, the function should rewrite the inputs.
sourcefn rewrite_stream_project(&mut self, plan: &StreamProject) -> PlanRef
fn rewrite_stream_project(&mut self, plan: &StreamProject) -> PlanRef
Visit StreamProject
, the function should rewrite the inputs.
sourcefn rewrite_stream_filter(&mut self, plan: &StreamFilter) -> PlanRef
fn rewrite_stream_filter(&mut self, plan: &StreamFilter) -> PlanRef
Visit StreamFilter
, the function should rewrite the inputs.
sourcefn rewrite_stream_table_scan(&mut self, plan: &StreamTableScan) -> PlanRef
fn rewrite_stream_table_scan(&mut self, plan: &StreamTableScan) -> PlanRef
Visit StreamTableScan
, the function should rewrite the inputs.
sourcefn rewrite_stream_cdc_table_scan(
&mut self,
plan: &StreamCdcTableScan,
) -> PlanRef
fn rewrite_stream_cdc_table_scan( &mut self, plan: &StreamCdcTableScan, ) -> PlanRef
Visit StreamCdcTableScan
, the function should rewrite the inputs.
sourcefn rewrite_stream_sink(&mut self, plan: &StreamSink) -> PlanRef
fn rewrite_stream_sink(&mut self, plan: &StreamSink) -> PlanRef
Visit StreamSink
, the function should rewrite the inputs.
sourcefn rewrite_stream_source(&mut self, plan: &StreamSource) -> PlanRef
fn rewrite_stream_source(&mut self, plan: &StreamSource) -> PlanRef
Visit StreamSource
, the function should rewrite the inputs.
sourcefn rewrite_stream_source_scan(&mut self, plan: &StreamSourceScan) -> PlanRef
fn rewrite_stream_source_scan(&mut self, plan: &StreamSourceScan) -> PlanRef
Visit StreamSourceScan
, the function should rewrite the inputs.
sourcefn rewrite_stream_hash_join(&mut self, plan: &StreamHashJoin) -> PlanRef
fn rewrite_stream_hash_join(&mut self, plan: &StreamHashJoin) -> PlanRef
Visit StreamHashJoin
, the function should rewrite the inputs.
sourcefn rewrite_stream_exchange(&mut self, plan: &StreamExchange) -> PlanRef
fn rewrite_stream_exchange(&mut self, plan: &StreamExchange) -> PlanRef
Visit StreamExchange
, the function should rewrite the inputs.
sourcefn rewrite_stream_hash_agg(&mut self, plan: &StreamHashAgg) -> PlanRef
fn rewrite_stream_hash_agg(&mut self, plan: &StreamHashAgg) -> PlanRef
Visit StreamHashAgg
, the function should rewrite the inputs.
sourcefn rewrite_stream_simple_agg(&mut self, plan: &StreamSimpleAgg) -> PlanRef
fn rewrite_stream_simple_agg(&mut self, plan: &StreamSimpleAgg) -> PlanRef
Visit StreamSimpleAgg
, the function should rewrite the inputs.
sourcefn rewrite_stream_stateless_simple_agg(
&mut self,
plan: &StreamStatelessSimpleAgg,
) -> PlanRef
fn rewrite_stream_stateless_simple_agg( &mut self, plan: &StreamStatelessSimpleAgg, ) -> PlanRef
Visit StreamStatelessSimpleAgg
, the function should rewrite the inputs.
sourcefn rewrite_stream_materialize(&mut self, plan: &StreamMaterialize) -> PlanRef
fn rewrite_stream_materialize(&mut self, plan: &StreamMaterialize) -> PlanRef
Visit StreamMaterialize
, the function should rewrite the inputs.
sourcefn rewrite_stream_top_n(&mut self, plan: &StreamTopN) -> PlanRef
fn rewrite_stream_top_n(&mut self, plan: &StreamTopN) -> PlanRef
Visit StreamTopN
, the function should rewrite the inputs.
sourcefn rewrite_stream_hop_window(&mut self, plan: &StreamHopWindow) -> PlanRef
fn rewrite_stream_hop_window(&mut self, plan: &StreamHopWindow) -> PlanRef
Visit StreamHopWindow
, the function should rewrite the inputs.
sourcefn rewrite_stream_delta_join(&mut self, plan: &StreamDeltaJoin) -> PlanRef
fn rewrite_stream_delta_join(&mut self, plan: &StreamDeltaJoin) -> PlanRef
Visit StreamDeltaJoin
, the function should rewrite the inputs.
sourcefn rewrite_stream_expand(&mut self, plan: &StreamExpand) -> PlanRef
fn rewrite_stream_expand(&mut self, plan: &StreamExpand) -> PlanRef
Visit StreamExpand
, the function should rewrite the inputs.
sourcefn rewrite_stream_dynamic_filter(
&mut self,
plan: &StreamDynamicFilter,
) -> PlanRef
fn rewrite_stream_dynamic_filter( &mut self, plan: &StreamDynamicFilter, ) -> PlanRef
Visit StreamDynamicFilter
, the function should rewrite the inputs.
sourcefn rewrite_stream_project_set(&mut self, plan: &StreamProjectSet) -> PlanRef
fn rewrite_stream_project_set(&mut self, plan: &StreamProjectSet) -> PlanRef
Visit StreamProjectSet
, the function should rewrite the inputs.
sourcefn rewrite_stream_group_top_n(&mut self, plan: &StreamGroupTopN) -> PlanRef
fn rewrite_stream_group_top_n(&mut self, plan: &StreamGroupTopN) -> PlanRef
Visit StreamGroupTopN
, the function should rewrite the inputs.
sourcefn rewrite_stream_union(&mut self, plan: &StreamUnion) -> PlanRef
fn rewrite_stream_union(&mut self, plan: &StreamUnion) -> PlanRef
Visit StreamUnion
, the function should rewrite the inputs.
sourcefn rewrite_stream_row_id_gen(&mut self, plan: &StreamRowIdGen) -> PlanRef
fn rewrite_stream_row_id_gen(&mut self, plan: &StreamRowIdGen) -> PlanRef
Visit StreamRowIdGen
, the function should rewrite the inputs.
sourcefn rewrite_stream_dml(&mut self, plan: &StreamDml) -> PlanRef
fn rewrite_stream_dml(&mut self, plan: &StreamDml) -> PlanRef
Visit StreamDml
, the function should rewrite the inputs.
sourcefn rewrite_stream_now(&mut self, plan: &StreamNow) -> PlanRef
fn rewrite_stream_now(&mut self, plan: &StreamNow) -> PlanRef
Visit StreamNow
, the function should rewrite the inputs.
sourcefn rewrite_stream_watermark_filter(
&mut self,
plan: &StreamWatermarkFilter,
) -> PlanRef
fn rewrite_stream_watermark_filter( &mut self, plan: &StreamWatermarkFilter, ) -> PlanRef
Visit StreamWatermarkFilter
, the function should rewrite the inputs.
sourcefn rewrite_stream_temporal_join(&mut self, plan: &StreamTemporalJoin) -> PlanRef
fn rewrite_stream_temporal_join(&mut self, plan: &StreamTemporalJoin) -> PlanRef
Visit StreamTemporalJoin
, the function should rewrite the inputs.
sourcefn rewrite_stream_values(&mut self, plan: &StreamValues) -> PlanRef
fn rewrite_stream_values(&mut self, plan: &StreamValues) -> PlanRef
Visit StreamValues
, the function should rewrite the inputs.
sourcefn rewrite_stream_dedup(&mut self, plan: &StreamDedup) -> PlanRef
fn rewrite_stream_dedup(&mut self, plan: &StreamDedup) -> PlanRef
Visit StreamDedup
, the function should rewrite the inputs.
sourcefn rewrite_stream_eowc_over_window(
&mut self,
plan: &StreamEowcOverWindow,
) -> PlanRef
fn rewrite_stream_eowc_over_window( &mut self, plan: &StreamEowcOverWindow, ) -> PlanRef
Visit StreamEowcOverWindow
, the function should rewrite the inputs.
sourcefn rewrite_stream_eowc_sort(&mut self, plan: &StreamEowcSort) -> PlanRef
fn rewrite_stream_eowc_sort(&mut self, plan: &StreamEowcSort) -> PlanRef
Visit StreamEowcSort
, the function should rewrite the inputs.
sourcefn rewrite_stream_over_window(&mut self, plan: &StreamOverWindow) -> PlanRef
fn rewrite_stream_over_window(&mut self, plan: &StreamOverWindow) -> PlanRef
Visit StreamOverWindow
, the function should rewrite the inputs.
sourcefn rewrite_stream_fs_fetch(&mut self, plan: &StreamFsFetch) -> PlanRef
fn rewrite_stream_fs_fetch(&mut self, plan: &StreamFsFetch) -> PlanRef
Visit StreamFsFetch
, the function should rewrite the inputs.
sourcefn rewrite_stream_change_log(&mut self, plan: &StreamChangeLog) -> PlanRef
fn rewrite_stream_change_log(&mut self, plan: &StreamChangeLog) -> PlanRef
Visit StreamChangeLog
, the function should rewrite the inputs.
sourcefn rewrite_stream_global_approx_percentile(
&mut self,
plan: &StreamGlobalApproxPercentile,
) -> PlanRef
fn rewrite_stream_global_approx_percentile( &mut self, plan: &StreamGlobalApproxPercentile, ) -> PlanRef
Visit StreamGlobalApproxPercentile
, the function should rewrite the inputs.
sourcefn rewrite_stream_local_approx_percentile(
&mut self,
plan: &StreamLocalApproxPercentile,
) -> PlanRef
fn rewrite_stream_local_approx_percentile( &mut self, plan: &StreamLocalApproxPercentile, ) -> PlanRef
Visit StreamLocalApproxPercentile
, the function should rewrite the inputs.
sourcefn rewrite_stream_row_merge(&mut self, plan: &StreamRowMerge) -> PlanRef
fn rewrite_stream_row_merge(&mut self, plan: &StreamRowMerge) -> PlanRef
Visit StreamRowMerge
, the function should rewrite the inputs.
sourcefn rewrite_stream_as_of_join(&mut self, plan: &StreamAsOfJoin) -> PlanRef
fn rewrite_stream_as_of_join(&mut self, plan: &StreamAsOfJoin) -> PlanRef
Visit StreamAsOfJoin
, the function should rewrite the inputs.