@@ -44,27 +44,26 @@ set max_threads=4;
44
44
statement ok
45
45
set sort_spilling_memory_ratio = 0;
46
46
47
- statement ok
48
- set enable_parallel_multi_merge_sort = 0;
49
-
50
47
statement ok
51
48
set enable_range_shuffle_sort = 0;
52
49
53
50
query T
54
51
explain pipeline SELECT depname, empno, salary, sum(salary) OVER (PARTITION BY depname ORDER BY empno) FROM empsalary ORDER BY depname, empno;
55
52
----
56
53
CompoundBlockOperator(Project) × 1
57
- Merge to MultiSortMerge × 1
58
- TransformSortMerge × 4
59
- SortPartialTransform × 4
60
- Merge to Resize × 4
61
- Transform Window × 1
62
- TransformWindowPartitionCollect(Sort) × 1
63
- ShuffleMergePartition(Window) × 1
64
- ShufflePartition(Window) × 1
65
- DeserializeDataTransform × 1
66
- SyncReadParquetDataTransform × 1
67
- BlockPartitionSource × 1
54
+ Merge to KWayMergeCombiner × 1
55
+ KWayMergeWorker × 4
56
+ KWayMergePartitioner × 1
57
+ TransformSortMerge × 4
58
+ SortPartialTransform × 4
59
+ Merge to Resize × 4
60
+ Transform Window × 1
61
+ TransformWindowPartitionCollect(Sort) × 1
62
+ ShuffleMergePartition(Window) × 1
63
+ ShufflePartition(Window) × 1
64
+ DeserializeDataTransform × 1
65
+ SyncReadParquetDataTransform × 1
66
+ BlockPartitionSource × 1
68
67
69
68
70
69
# Enable sort spilling
@@ -75,17 +74,19 @@ query T
75
74
explain pipeline SELECT depname, empno, salary, sum(salary) OVER (PARTITION BY depname ORDER BY empno) FROM empsalary ORDER BY depname, empno;
76
75
----
77
76
CompoundBlockOperator(Project) × 1
78
- Merge to MultiSortMerge × 1
79
- TransformSortMerge × 4
80
- SortPartialTransform × 4
81
- Merge to Resize × 4
82
- Transform Window × 1
83
- TransformWindowPartitionCollect(Sort) × 1
84
- ShuffleMergePartition(Window) × 1
85
- ShufflePartition(Window) × 1
86
- DeserializeDataTransform × 1
87
- SyncReadParquetDataTransform × 1
88
- BlockPartitionSource × 1
77
+ Merge to KWayMergeCombiner × 1
78
+ KWayMergeWorker × 4
79
+ KWayMergePartitioner × 1
80
+ TransformSortMerge × 4
81
+ SortPartialTransform × 4
82
+ Merge to Resize × 4
83
+ Transform Window × 1
84
+ TransformWindowPartitionCollect(Sort) × 1
85
+ ShuffleMergePartition(Window) × 1
86
+ ShufflePartition(Window) × 1
87
+ DeserializeDataTransform × 1
88
+ SyncReadParquetDataTransform × 1
89
+ BlockPartitionSource × 1
89
90
90
91
91
92
statement ok
@@ -450,17 +451,19 @@ avg(a) over (order by a rows between unbounded preceding and current row) from t
450
451
CompoundBlockOperator(Project) × 1
451
452
LimitTransform × 1
452
453
Transform Window × 1
453
- Merge to MultiSortMerge × 1
454
- TransformSortMerge × 4
455
- SortPartialTransform × 4
456
- Merge to Resize × 4
457
- Transform Window × 1
458
- TransformWindowPartitionCollect(Sort) × 1
459
- ShuffleMergePartition(Window) × 1
460
- ShufflePartition(Window) × 1
461
- DeserializeDataTransform × 1
462
- SyncReadParquetDataTransform × 1
463
- BlockPartitionSource × 1
454
+ Merge to KWayMergeCombiner × 1
455
+ KWayMergeWorker × 4
456
+ KWayMergePartitioner × 1
457
+ TransformSortMerge × 4
458
+ SortPartialTransform × 4
459
+ Merge to Resize × 4
460
+ Transform Window × 1
461
+ TransformWindowPartitionCollect(Sort) × 1
462
+ ShuffleMergePartition(Window) × 1
463
+ ShufflePartition(Window) × 1
464
+ DeserializeDataTransform × 1
465
+ SyncReadParquetDataTransform × 1
466
+ BlockPartitionSource × 1
464
467
465
468
# row fetch with window function(pipeline explain)
466
469
query T
@@ -469,19 +472,21 @@ explain pipeline select *, sum(a) over (partition by a order by a desc rows betw
469
472
CompoundBlockOperator(Project) × 1
470
473
TransformRowsFetcher × 1
471
474
LimitTransform × 1
472
- Merge to MultiSortMerge × 1
473
- TransformSortMergeLimit × 4
474
- SortPartialTransform × 4
475
- Merge to Resize × 4
476
- Transform Window × 1
477
- TransformWindowPartitionCollect(Sort) × 1
478
- ShuffleMergePartition(Window) × 1
479
- ShufflePartition(Window) × 1
480
- TransformFilter × 1
481
- AddInternalColumnsTransform × 1
482
- DeserializeDataTransform × 1
483
- SyncReadParquetDataTransform × 1
484
- BlockPartitionSource × 1
475
+ Merge to KWayMergeCombiner × 1
476
+ KWayMergeWorker × 4
477
+ KWayMergePartitioner × 1
478
+ TransformSortMergeLimit × 4
479
+ SortPartialTransform × 4
480
+ Merge to Resize × 4
481
+ Transform Window × 1
482
+ TransformWindowPartitionCollect(Sort) × 1
483
+ ShuffleMergePartition(Window) × 1
484
+ ShufflePartition(Window) × 1
485
+ TransformFilter × 1
486
+ AddInternalColumnsTransform × 1
487
+ DeserializeDataTransform × 1
488
+ SyncReadParquetDataTransform × 1
489
+ BlockPartitionSource × 1
485
490
486
491
# row fetch with window function(plan explain)
487
492
query T
@@ -562,12 +567,14 @@ CompoundBlockOperator(Project) × 1
562
567
Transform Window × 1
563
568
CompoundBlockOperator(Map) × 1
564
569
Transform Window × 1
565
- Merge to MultiSortMerge × 1
566
- TransformSortMerge × 4
567
- SortPartialTransform × 4
568
- Merge to Resize × 4
569
- CompoundBlockOperator(Map) × 1
570
- NumbersSourceTransform × 1
570
+ Merge to KWayMergeCombiner × 1
571
+ KWayMergeWorker × 4
572
+ KWayMergePartitioner × 1
573
+ TransformSortMerge × 4
574
+ SortPartialTransform × 4
575
+ Merge to Resize × 4
576
+ CompoundBlockOperator(Map) × 1
577
+ NumbersSourceTransform × 1
571
578
572
579
# same order same partiton by multi window
573
580
query T
0 commit comments