@@ -146,7 +146,7 @@ impl DistributedPhysicalOptimizerRule {
146146 let stage = self . _distribute_plan_inner ( child, num, depth + 1 ) ?;
147147 let node = Arc :: new ( node. to_distributed ( stage. num ) ?) ;
148148 inputs. push ( stage) ;
149- Ok ( Transformed :: new ( node, true , TreeNodeRecursion :: Stop ) )
149+ Ok ( Transformed :: new ( node, true , TreeNodeRecursion :: Jump ) )
150150 } ) ?;
151151
152152 let inputs = inputs. into_iter ( ) . map ( Arc :: new) . collect ( ) ;
@@ -333,6 +333,20 @@ mod tests {
333333 │partitions [out:4 ] ArrowFlightReadExec: Stage 4
334334 │
335335 └──────────────────────────────────────────────────
336+ ┌───── Stage 2 Task: partitions: 0..3,unassigned]
337+ │partitions [out:4 <-- in:4 ] RepartitionExec: partitioning=Hash([RainTomorrow@0], 4), input_partitions=4
338+ │partitions [out:4 <-- in:4 ] AggregateExec: mode=Partial, gby=[RainTomorrow@1 as RainTomorrow], aggr=[avg(weather.MinTemp)]
339+ │partitions [out:4 <-- in:4 ] CoalesceBatchesExec: target_batch_size=8192
340+ │partitions [out:4 <-- in:4 ] FilterExec: RainToday@1 = yes, projection=[MinTemp@0, RainTomorrow@2]
341+ │partitions [out:4 ] ArrowFlightReadExec: Stage 1
342+ │
343+ └──────────────────────────────────────────────────
344+ ┌───── Stage 1 Task: partitions: 0..3,unassigned]
345+ │partitions [out:4 <-- in:1 ] RepartitionExec: partitioning=RoundRobinBatch(4), input_partitions=1
346+ │partitions [out:1 ] DataSourceExec: file_groups={1 group: [[/testdata/weather.parquet]]}, projection=[MinTemp, RainToday, RainTomorrow], file_type=parquet, predicate=RainToday@1 = yes, pruning_predicate=RainToday_null_count@2 != row_count@3 AND RainToday_min@0 <= yes AND yes <= RainToday_max@1, required_guarantees=[RainToday in (yes)]
347+ │
348+ │
349+ └──────────────────────────────────────────────────
336350 ┌───── Stage 4 Task: partitions: 0..3,unassigned]
337351 │partitions [out:4 <-- in:4 ] RepartitionExec: partitioning=Hash([RainTomorrow@0], 4), input_partitions=4
338352 │partitions [out:4 <-- in:4 ] AggregateExec: mode=Partial, gby=[RainTomorrow@1 as RainTomorrow], aggr=[avg(weather.MaxTemp)]
@@ -347,20 +361,6 @@ mod tests {
347361 │
348362 │
349363 └──────────────────────────────────────────────────
350- ┌───── Stage 2 Task: partitions: 0..3,unassigned]
351- │partitions [out:4 <-- in:4 ] RepartitionExec: partitioning=Hash([RainTomorrow@0], 4), input_partitions=4
352- │partitions [out:4 <-- in:4 ] AggregateExec: mode=Partial, gby=[RainTomorrow@1 as RainTomorrow], aggr=[avg(weather.MinTemp)]
353- │partitions [out:4 <-- in:4 ] CoalesceBatchesExec: target_batch_size=8192
354- │partitions [out:4 <-- in:4 ] FilterExec: RainToday@1 = yes, projection=[MinTemp@0, RainTomorrow@2]
355- │partitions [out:4 ] ArrowFlightReadExec: Stage 1
356- │
357- └──────────────────────────────────────────────────
358- ┌───── Stage 1 Task: partitions: 0..3,unassigned]
359- │partitions [out:4 <-- in:1 ] RepartitionExec: partitioning=RoundRobinBatch(4), input_partitions=1
360- │partitions [out:1 ] DataSourceExec: file_groups={1 group: [[/testdata/weather.parquet]]}, projection=[MinTemp, RainToday, RainTomorrow], file_type=parquet, predicate=RainToday@1 = yes, pruning_predicate=RainToday_null_count@2 != row_count@3 AND RainToday_min@0 <= yes AND yes <= RainToday_max@1, required_guarantees=[RainToday in (yes)]
361- │
362- │
363- └──────────────────────────────────────────────────
364364 " ) ;
365365 }
366366
0 commit comments