Skip to content

Conversation

@seawinde
Copy link
Contributor

@seawinde seawinde commented Aug 22, 2025

What problem does this PR solve?

Support limit or topN rewrite when materialized view contains limit or topN

the doc pr is apache/doris-website#3059

such as mv def is as fllowing

        CREATE MATERIALIZED VIEW mv_with_limit
        BUILD IMMEDIATE REFRESH COMPLETE ON MANUAL
        DISTRIBUTED BY RANDOM BUCKETS 2
        PROPERTIES ('replication_num' = '1') 
        AS
            select
            o_orderdate,
            o_shippriority,
            o_comment
            from
            orders
            limit 4 offset 2;

query is as following which can be rewritten success by mv mv_with_limit above

            select
            o_orderdate,
            o_shippriority,
            o_comment
            from
            orders
            limit 2 offset 3;

another example:
such as mv def is as fllowing

        CREATE MATERIALIZED VIEW mv_with_topN
        BUILD IMMEDIATE REFRESH COMPLETE ON MANUAL
        DISTRIBUTED BY RANDOM BUCKETS 2
        PROPERTIES ('replication_num' = '1') 
        AS
            select
            o_orderdate,
            o_shippriority,
            o_comment
            from
            orders
            order by o_orderkey
            limit 4 offset 2;

query is as following which can be rewritten success by mv mv_with_topN above

            select
            o_orderdate,
            o_shippriority,
            o_comment
            from
            orders
            order by o_orderkey
            limit 2 offset 5;

Issue Number: close #xxx

Related PR: #xxx

Problem Summary:

Release note

None

Check List (For Author)

  • Test

    • Regression test
    • Unit Test
    • Manual test (add detailed scripts or steps below)
    • No need to test or manual test. Explain why:
      • This is a refactor/code format and no logic has been changed.
      • Previous test can cover this change.
      • No code files have been changed.
      • Other reason
  • Behavior changed:

    • No.
    • Yes.
  • Does this need documentation?

    • No.
    • Yes.

Check List (For Reviewer who merge this PR)

  • Confirm the release note
  • Confirm test cases
  • Confirm document
  • Add branch pick label

@Thearas
Copy link
Contributor

Thearas commented Aug 22, 2025

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR.

Please clearly describe your PR:

  1. What problem was fixed (it's best to include specific error reporting information). How it was fixed.
  2. Which behaviors were modified. What was the previous behavior, what is it now, why was it modified, and what possible impacts might there be.
  3. What features were added. Why was this function added?
  4. Which code was refactored and why was this part of the code refactored?
  5. Which functions were optimized and what is the difference before and after the optimization?

@seawinde seawinde force-pushed the support_limit_topN_rewrite_single_pr branch from 1c8c4a2 to ebe67be Compare August 22, 2025 11:13
@seawinde
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

TPC-H: Total hot run time: 33959 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit ebe67be69d089507f8d69c921bcf15a751ae8415, data reload: false

------ Round 1 ----------------------------------
q1	17600	5275	5360	5275
q2	1908	292	185	185
q3	10309	1332	716	716
q4	10215	1019	527	527
q5	7500	2405	2303	2303
q6	181	159	129	129
q7	900	750	594	594
q8	9307	1304	1076	1076
q9	6818	5160	5094	5094
q10	6910	2388	1966	1966
q11	493	290	270	270
q12	341	359	228	228
q13	17783	3602	2998	2998
q14	228	239	221	221
q15	564	482	469	469
q16	431	423	372	372
q17	611	851	357	357
q18	7356	7076	7125	7076
q19	1373	952	574	574
q20	340	334	218	218
q21	3823	3142	2310	2310
q22	1064	1011	1001	1001
Total cold run time: 106055 ms
Total hot run time: 33959 ms

----- Round 2, with runtime_filter_mode=off -----
q1	5176	5100	5128	5100
q2	245	331	219	219
q3	2189	2693	2259	2259
q4	1352	1792	1312	1312
q5	4168	4451	4452	4451
q6	219	169	130	130
q7	2111	1969	1818	1818
q8	2742	2565	2526	2526
q9	7273	7425	7395	7395
q10	3098	3288	2910	2910
q11	621	639	515	515
q12	689	771	643	643
q13	3489	3865	3416	3416
q14	293	292	289	289
q15	524	497	499	497
q16	435	494	445	445
q17	1185	1596	1399	1399
q18	7866	7715	7649	7649
q19	825	830	867	830
q20	1948	2032	1963	1963
q21	4891	4347	4296	4296
q22	1080	1066	977	977
Total cold run time: 52419 ms
Total hot run time: 51039 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 183937 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit ebe67be69d089507f8d69c921bcf15a751ae8415, data reload: false

query1	1015	387	409	387
query2	6527	1731	1735	1731
query3	6740	219	219	219
query4	26529	23493	22787	22787
query5	4282	617	473	473
query6	278	209	195	195
query7	4626	508	286	286
query8	265	230	209	209
query9	8642	2860	2836	2836
query10	480	346	285	285
query11	16087	14957	14828	14828
query12	155	113	115	113
query13	1679	541	432	432
query14	8607	5710	5668	5668
query15	200	179	164	164
query16	7304	622	482	482
query17	1213	746	609	609
query18	1990	413	319	319
query19	204	188	165	165
query20	134	127	115	115
query21	211	123	114	114
query22	4105	4278	4149	4149
query23	33674	32807	32844	32807
query24	8275	2341	2360	2341
query25	528	496	411	411
query26	1235	276	163	163
query27	2732	504	347	347
query28	4310	2227	2242	2227
query29	793	559	450	450
query30	282	216	203	203
query31	861	765	700	700
query32	81	78	74	74
query33	566	372	337	337
query34	775	839	510	510
query35	804	808	741	741
query36	958	993	897	897
query37	118	102	79	79
query38	4079	4056	4039	4039
query39	1484	1417	1430	1417
query40	223	124	117	117
query41	59	59	74	59
query42	127	114	119	114
query43	506	482	468	468
query44	1307	842	840	840
query45	176	164	159	159
query46	848	1005	626	626
query47	1770	1789	1706	1706
query48	386	411	306	306
query49	745	478	400	400
query50	664	676	406	406
query51	4050	4176	4089	4089
query52	110	109	100	100
query53	239	258	198	198
query54	586	596	520	520
query55	93	93	85	85
query56	344	305	318	305
query57	1168	1184	1124	1124
query58	280	273	268	268
query59	2611	2698	2679	2679
query60	335	324	332	324
query61	135	128	153	128
query62	790	745	660	660
query63	228	196	200	196
query64	4411	1022	699	699
query65	4285	4204	4243	4204
query66	1173	414	316	316
query67	15543	15299	14947	14947
query68	8086	917	568	568
query69	485	316	284	284
query70	1233	1148	1070	1070
query71	470	327	301	301
query72	5729	4817	4664	4664
query73	739	653	355	355
query74	8811	8857	8879	8857
query75	3780	3071	2631	2631
query76	3709	1141	723	723
query77	786	398	316	316
query78	9586	9701	8804	8804
query79	2680	823	581	581
query80	631	528	488	488
query81	492	259	221	221
query82	461	137	106	106
query83	293	251	247	247
query84	302	105	87	87
query85	804	382	350	350
query86	390	330	296	296
query87	4384	4339	4160	4160
query88	3409	2211	2220	2211
query89	394	320	291	291
query90	1897	221	237	221
query91	147	142	111	111
query92	89	74	66	66
query93	1931	974	644	644
query94	659	401	316	316
query95	398	324	315	315
query96	480	574	273	273
query97	2653	2699	2547	2547
query98	331	221	212	212
query99	1428	1416	1269	1269
Total cold run time: 273687 ms
Total hot run time: 183937 ms

@doris-robot
Copy link

ClickBench: Total hot run time: 32.38 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit ebe67be69d089507f8d69c921bcf15a751ae8415, data reload: false

query1	0.05	0.04	0.04
query2	0.08	0.04	0.05
query3	0.25	0.07	0.07
query4	1.62	0.10	0.11
query5	0.42	0.43	0.40
query6	1.17	0.64	0.65
query7	0.02	0.02	0.02
query8	0.05	0.04	0.03
query9	0.61	0.53	0.53
query10	0.58	0.57	0.58
query11	0.16	0.11	0.12
query12	0.15	0.12	0.12
query13	0.62	0.62	0.61
query14	0.79	0.86	0.83
query15	0.88	0.86	0.89
query16	0.39	0.40	0.39
query17	1.07	1.03	1.03
query18	0.21	0.19	0.20
query19	1.93	1.81	1.84
query20	0.02	0.01	0.01
query21	15.39	0.98	0.60
query22	0.79	1.16	0.76
query23	14.86	1.37	0.60
query24	6.92	1.80	0.59
query25	0.54	0.25	0.09
query26	0.60	0.14	0.12
query27	0.06	0.04	0.06
query28	10.47	0.95	0.43
query29	12.59	3.84	3.24
query30	3.03	3.03	3.01
query31	2.82	0.58	0.39
query32	3.23	0.54	0.47
query33	3.10	3.06	3.06
query34	16.10	5.50	4.86
query35	4.94	4.98	4.89
query36	0.68	0.51	0.49
query37	0.10	0.07	0.06
query38	0.05	0.05	0.04
query39	0.03	0.03	0.02
query40	0.18	0.14	0.14
query41	0.08	0.03	0.03
query42	0.03	0.03	0.02
query43	0.04	0.03	0.03
Total cold run time: 107.7 s
Total hot run time: 32.38 s

@hello-stephen
Copy link
Contributor

FE UT Coverage Report

Increment line coverage 25.62% (82/320) 🎉
Increment coverage report
Complete coverage report

@seawinde seawinde force-pushed the support_limit_topN_rewrite_single_pr branch from ebe67be to c6244ae Compare August 27, 2025 12:42
@seawinde
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

TPC-H: Total hot run time: 34117 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit c6244ae894cc894b5133b4d1ac2a76586c8ecff6, data reload: false

------ Round 1 ----------------------------------
q1	17638	5258	5104	5104
q2	2007	360	212	212
q3	10224	1283	738	738
q4	10239	1005	560	560
q5	7539	2401	2338	2338
q6	187	172	138	138
q7	919	766	630	630
q8	9362	1486	1157	1157
q9	6987	5143	5167	5143
q10	6899	2374	1975	1975
q11	486	309	289	289
q12	360	363	237	237
q13	17792	3675	3022	3022
q14	258	244	230	230
q15	562	503	506	503
q16	453	452	383	383
q17	604	864	365	365
q18	7548	7182	6964	6964
q19	1120	950	567	567
q20	365	355	242	242
q21	3903	3218	2345	2345
q22	1055	1041	975	975
Total cold run time: 106507 ms
Total hot run time: 34117 ms

----- Round 2, with runtime_filter_mode=off -----
q1	5194	5126	5122	5122
q2	260	333	230	230
q3	2199	2677	2306	2306
q4	1402	1793	1366	1366
q5	4225	4428	4651	4428
q6	211	179	133	133
q7	2089	1991	1839	1839
q8	2682	2608	2574	2574
q9	7476	7451	7409	7409
q10	3141	3388	2870	2870
q11	586	570	502	502
q12	730	782	625	625
q13	3429	4041	3302	3302
q14	281	327	290	290
q15	542	500	479	479
q16	480	506	437	437
q17	1214	1533	1480	1480
q18	7993	7783	7773	7773
q19	857	914	986	914
q20	2034	2110	1896	1896
q21	5161	4498	4339	4339
q22	1109	1061	1002	1002
Total cold run time: 53295 ms
Total hot run time: 51316 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 186734 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit c6244ae894cc894b5133b4d1ac2a76586c8ecff6, data reload: false

query1	1078	433	409	409
query2	6550	1813	1758	1758
query3	6765	230	226	226
query4	26581	23443	22922	22922
query5	4420	640	502	502
query6	336	244	219	219
query7	4644	512	299	299
query8	298	277	239	239
query9	8626	2902	2867	2867
query10	479	334	316	316
query11	16023	14985	14741	14741
query12	176	122	121	121
query13	1682	560	444	444
query14	9551	5810	5788	5788
query15	219	194	172	172
query16	7603	644	489	489
query17	1234	735	619	619
query18	2033	468	335	335
query19	206	193	175	175
query20	133	125	126	125
query21	224	133	116	116
query22	4158	4138	4054	4054
query23	34094	32924	33076	32924
query24	8160	2367	2378	2367
query25	583	541	494	494
query26	1254	287	174	174
query27	2715	519	355	355
query28	4364	2289	2266	2266
query29	820	640	516	516
query30	294	227	201	201
query31	920	815	723	723
query32	102	85	81	81
query33	590	423	371	371
query34	826	876	531	531
query35	839	848	776	776
query36	985	1043	935	935
query37	127	116	100	100
query38	4036	4090	3949	3949
query39	1533	1445	1449	1445
query40	240	144	133	133
query41	80	75	71	71
query42	127	116	123	116
query43	546	502	485	485
query44	1379	918	932	918
query45	183	176	173	173
query46	871	1012	646	646
query47	1816	1847	1758	1758
query48	401	437	340	340
query49	754	509	408	408
query50	682	692	391	391
query51	4121	4107	4074	4074
query52	125	126	110	110
query53	240	269	202	202
query54	614	655	553	553
query55	93	94	94	94
query56	341	340	342	340
query57	1203	1220	1138	1138
query58	289	282	291	282
query59	2646	2729	2647	2647
query60	357	353	365	353
query61	168	156	156	156
query62	850	730	683	683
query63	227	193	193	193
query64	4460	1139	813	813
query65	4292	4199	4217	4199
query66	1116	443	354	354
query67	15840	15430	15291	15291
query68	9315	919	597	597
query69	485	400	288	288
query70	1238	1109	1177	1109
query71	470	341	318	318
query72	6105	5088	5062	5062
query73	757	656	363	363
query74	8970	9196	9000	9000
query75	4348	3060	2621	2621
query76	3816	1139	741	741
query77	852	412	330	330
query78	9660	9653	8811	8811
query79	2345	836	601	601
query80	702	587	541	541
query81	482	263	227	227
query82	455	151	119	119
query83	296	274	255	255
query84	319	119	105	105
query85	884	469	437	437
query86	374	310	306	306
query87	4336	4342	4217	4217
query88	3225	2212	2211	2211
query89	408	335	283	283
query90	1957	226	224	224
query91	160	167	138	138
query92	93	77	74	74
query93	1737	987	646	646
query94	693	436	332	332
query95	421	343	324	324
query96	501	584	274	274
query97	2676	2747	2607	2607
query98	243	216	223	216
query99	1511	1416	1292	1292
Total cold run time: 279156 ms
Total hot run time: 186734 ms

@doris-robot
Copy link

ClickBench: Total hot run time: 33.04 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit c6244ae894cc894b5133b4d1ac2a76586c8ecff6, data reload: false

query1	0.06	0.04	0.05
query2	0.08	0.05	0.05
query3	0.26	0.08	0.09
query4	1.61	0.12	0.12
query5	0.46	0.42	0.43
query6	1.21	0.65	0.67
query7	0.04	0.03	0.03
query8	0.06	0.05	0.04
query9	0.61	0.55	0.53
query10	0.58	0.59	0.57
query11	0.17	0.12	0.11
query12	0.16	0.12	0.12
query13	0.63	0.63	0.62
query14	0.81	0.85	0.84
query15	0.90	0.86	0.87
query16	0.42	0.39	0.38
query17	1.07	1.10	1.11
query18	0.22	0.20	0.20
query19	1.97	1.91	1.85
query20	0.01	0.01	0.02
query21	15.40	0.97	0.58
query22	0.79	1.24	0.83
query23	14.75	1.36	0.60
query24	6.64	0.76	0.96
query25	0.48	0.15	0.16
query26	0.67	0.17	0.13
query27	0.07	0.06	0.06
query28	9.41	0.97	0.45
query29	12.59	3.96	3.26
query30	3.14	3.06	3.00
query31	2.86	0.60	0.40
query32	3.25	0.55	0.48
query33	3.08	3.06	3.27
query34	16.08	5.54	4.86
query35	4.90	4.94	4.98
query36	0.69	0.50	0.48
query37	0.10	0.08	0.08
query38	0.05	0.05	0.04
query39	0.03	0.03	0.03
query40	0.19	0.16	0.14
query41	0.08	0.03	0.03
query42	0.04	0.03	0.03
query43	0.05	0.03	0.03
Total cold run time: 106.67 s
Total hot run time: 33.04 s

@hello-stephen
Copy link
Contributor

FE UT Coverage Report

Increment line coverage 30.97% (109/352) 🎉
Increment coverage report
Complete coverage report

@seawinde
Copy link
Contributor Author

run buildall

@hello-stephen
Copy link
Contributor

FE UT Coverage Report

Increment line coverage 30.97% (109/352) 🎉
Increment coverage report
Complete coverage report

@doris-robot
Copy link

TPC-H: Total hot run time: 34457 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit aa433673a8b3bd93e81bd34139d9978e605f2770, data reload: false

------ Round 1 ----------------------------------
q1	17636	5314	5112	5112
q2	2011	332	219	219
q3	10235	1315	770	770
q4	10247	1050	530	530
q5	7534	2491	2357	2357
q6	192	167	140	140
q7	935	772	648	648
q8	9359	1354	1208	1208
q9	7059	5218	5265	5218
q10	7007	2404	1973	1973
q11	501	312	297	297
q12	374	363	224	224
q13	17770	3661	3037	3037
q14	232	240	223	223
q15	570	503	496	496
q16	442	434	384	384
q17	599	863	393	393
q18	7596	7151	7027	7027
q19	1106	973	590	590
q20	354	371	236	236
q21	4027	2610	2414	2414
q22	1085	1021	961	961
Total cold run time: 106871 ms
Total hot run time: 34457 ms

----- Round 2, with runtime_filter_mode=off -----
q1	5164	5466	5126	5126
q2	250	333	232	232
q3	2164	2708	2308	2308
q4	1368	1838	1359	1359
q5	4256	4546	4593	4546
q6	233	182	133	133
q7	2077	2004	1776	1776
q8	2665	2800	2539	2539
q9	7601	7360	7307	7307
q10	3191	3324	2900	2900
q11	572	523	497	497
q12	722	836	657	657
q13	3456	3913	3312	3312
q14	289	319	344	319
q15	674	513	488	488
q16	444	486	430	430
q17	1219	1607	1362	1362
q18	7935	7863	7549	7549
q19	907	828	1038	828
q20	1964	2109	1897	1897
q21	4952	4391	4435	4391
q22	1053	1034	997	997
Total cold run time: 53156 ms
Total hot run time: 50953 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 186517 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit aa433673a8b3bd93e81bd34139d9978e605f2770, data reload: false

query1	1059	469	428	428
query2	6575	1779	1772	1772
query3	6756	232	227	227
query4	26319	23637	23002	23002
query5	4434	663	523	523
query6	340	279	242	242
query7	4652	521	301	301
query8	304	266	262	262
query9	8653	2916	2887	2887
query10	510	344	303	303
query11	15903	15065	14802	14802
query12	171	121	123	121
query13	1656	572	423	423
query14	9053	5963	5890	5890
query15	216	189	169	169
query16	7221	666	498	498
query17	1232	751	633	633
query18	2016	433	345	345
query19	208	203	176	176
query20	145	136	124	124
query21	228	127	116	116
query22	4115	4205	4066	4066
query23	33733	33069	32937	32937
query24	8134	2390	2459	2390
query25	638	569	484	484
query26	1253	293	180	180
query27	2712	517	359	359
query28	4415	2277	2257	2257
query29	841	644	531	531
query30	288	243	207	207
query31	905	804	715	715
query32	95	86	86	86
query33	620	415	371	371
query34	810	844	525	525
query35	877	851	762	762
query36	988	1038	928	928
query37	126	116	99	99
query38	4106	3992	4000	3992
query39	1551	1439	1425	1425
query40	228	135	126	126
query41	72	69	64	64
query42	131	118	121	118
query43	554	526	486	486
query44	1366	864	865	864
query45	187	177	175	175
query46	891	1022	656	656
query47	1760	1818	1714	1714
query48	401	446	342	342
query49	809	520	422	422
query50	673	694	406	406
query51	4034	4303	4138	4138
query52	117	116	102	102
query53	244	279	199	199
query54	621	614	568	568
query55	96	93	94	93
query56	364	346	324	324
query57	1205	1223	1138	1138
query58	290	294	280	280
query59	2678	2750	2578	2578
query60	368	357	345	345
query61	169	168	166	166
query62	809	753	684	684
query63	252	196	196	196
query64	4544	1151	891	891
query65	4284	4183	4232	4183
query66	1186	450	357	357
query67	15679	15344	14950	14950
query68	9422	949	588	588
query69	487	338	298	298
query70	1271	1188	1109	1109
query71	486	378	322	322
query72	5928	4975	5104	4975
query73	763	654	365	365
query74	8970	8815	9028	8815
query75	4327	3121	2641	2641
query76	3796	1193	749	749
query77	992	427	363	363
query78	9536	9748	8800	8800
query79	4214	827	593	593
query80	699	594	527	527
query81	485	271	244	244
query82	611	148	118	118
query83	302	257	242	242
query84	320	119	93	93
query85	895	475	438	438
query86	356	326	309	309
query87	4297	4256	4107	4107
query88	2860	2186	2220	2186
query89	465	326	309	309
query90	1928	240	227	227
query91	161	161	140	140
query92	90	81	72	72
query93	2404	999	647	647
query94	706	442	377	377
query95	413	340	333	333
query96	495	583	277	277
query97	2683	2651	2606	2606
query98	241	220	240	220
query99	1449	1426	1304	1304
Total cold run time: 279922 ms
Total hot run time: 186517 ms

@doris-robot
Copy link

ClickBench: Total hot run time: 32.93 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit aa433673a8b3bd93e81bd34139d9978e605f2770, data reload: false

query1	0.05	0.05	0.07
query2	0.10	0.05	0.06
query3	0.25	0.08	0.08
query4	1.61	0.12	0.12
query5	0.45	0.43	0.41
query6	1.18	0.64	0.65
query7	0.04	0.03	0.03
query8	0.06	0.05	0.05
query9	0.63	0.54	0.52
query10	0.59	0.57	0.57
query11	0.16	0.12	0.11
query12	0.15	0.13	0.12
query13	0.63	0.62	0.62
query14	0.80	0.81	0.89
query15	0.88	0.85	0.88
query16	0.39	0.44	0.41
query17	1.03	1.06	1.07
query18	0.21	0.20	0.20
query19	1.90	1.77	1.79
query20	0.02	0.02	0.02
query21	15.43	0.94	0.58
query22	0.77	1.08	0.74
query23	14.89	1.42	0.67
query24	6.65	0.79	0.91
query25	0.56	0.25	0.18
query26	0.67	0.17	0.15
query27	0.06	0.06	0.06
query28	9.74	0.93	0.43
query29	12.58	4.01	3.33
query30	3.07	3.03	2.96
query31	2.82	0.58	0.39
query32	3.24	0.55	0.49
query33	3.12	3.04	3.14
query34	16.19	5.50	4.91
query35	4.88	4.91	4.87
query36	0.69	0.51	0.49
query37	0.10	0.08	0.07
query38	0.05	0.04	0.05
query39	0.04	0.03	0.03
query40	0.20	0.15	0.14
query41	0.09	0.03	0.02
query42	0.04	0.03	0.03
query43	0.04	0.04	0.03
Total cold run time: 107.05 s
Total hot run time: 32.93 s

@seawinde seawinde force-pushed the support_limit_topN_rewrite_single_pr branch from aa43367 to b355167 Compare October 24, 2025 09:40
@seawinde
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

ClickBench: Total hot run time: 28.3 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit b3551670127bbd7ffb9e2099a61df652fe5192a5, data reload: false

query1	0.06	0.05	0.04
query2	0.09	0.06	0.06
query3	0.26	0.08	0.09
query4	1.61	0.12	0.12
query5	0.27	0.26	0.25
query6	1.17	0.68	0.65
query7	0.03	0.02	0.02
query8	0.05	0.04	0.05
query9	0.64	0.54	0.52
query10	0.58	0.60	0.59
query11	0.17	0.12	0.11
query12	0.15	0.12	0.12
query13	0.63	0.60	0.60
query14	1.00	1.01	1.02
query15	0.85	0.84	0.86
query16	0.38	0.40	0.39
query17	1.04	1.00	1.05
query18	0.22	0.21	0.20
query19	1.89	1.82	1.82
query20	0.02	0.01	0.02
query21	15.44	0.19	0.12
query22	5.08	0.08	0.05
query23	15.66	0.26	0.11
query24	2.82	0.99	1.19
query25	0.07	0.07	0.07
query26	0.15	0.15	0.14
query27	0.06	0.06	0.05
query28	4.55	1.16	0.94
query29	12.73	3.93	3.32
query30	0.29	0.14	0.12
query31	2.83	0.58	0.39
query32	3.23	0.55	0.48
query33	3.05	3.11	3.08
query34	15.85	5.18	4.54
query35	4.58	4.58	4.55
query36	0.68	0.51	0.49
query37	0.10	0.07	0.07
query38	0.07	0.04	0.04
query39	0.05	0.04	0.03
query40	0.18	0.16	0.15
query41	0.09	0.04	0.04
query42	0.05	0.03	0.03
query43	0.04	0.04	0.03
Total cold run time: 98.76 s
Total hot run time: 28.3 s

@hello-stephen
Copy link
Contributor

FE Regression Coverage Report

Increment line coverage 77.56% (273/352) 🎉
Increment coverage report
Complete coverage report

@seawinde
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

TPC-DS: Total hot run time: 190809 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit eb7bbf12f419abd237e0d4beb68a1b4e93c4d7e6, data reload: false

query1	1105	427	418	418
query2	6611	1730	1681	1681
query3	6754	226	221	221
query4	27019	23446	23089	23089
query5	4731	641	474	474
query6	343	276	231	231
query7	4651	520	315	315
query8	313	268	254	254
query9	8718	2646	2636	2636
query10	510	376	333	333
query11	15804	15188	14955	14955
query12	194	121	120	120
query13	1672	600	460	460
query14	11974	9466	9427	9427
query15	209	205	198	198
query16	7697	701	528	528
query17	1667	800	653	653
query18	2179	516	379	379
query19	237	230	199	199
query20	141	136	138	136
query21	223	152	141	141
query22	4496	4562	4547	4547
query23	35754	34489	33731	33731
query24	8554	2555	2542	2542
query25	606	520	475	475
query26	1272	297	168	168
query27	2912	522	370	370
query28	4332	2292	2290	2290
query29	827	677	496	496
query30	380	251	211	211
query31	966	858	796	796
query32	97	79	76	76
query33	669	388	371	371
query34	845	892	548	548
query35	853	881	771	771
query36	957	1002	908	908
query37	130	115	86	86
query38	3568	3575	3480	3480
query39	1511	1421	1416	1416
query40	222	130	118	118
query41	61	58	57	57
query42	119	114	109	109
query43	485	527	474	474
query44	1312	792	758	758
query45	186	180	177	177
query46	915	1008	658	658
query47	1740	1824	1724	1724
query48	410	444	317	317
query49	770	523	432	432
query50	659	693	417	417
query51	3876	4013	3879	3879
query52	113	108	100	100
query53	241	280	211	211
query54	595	596	528	528
query55	93	88	83	83
query56	326	321	316	316
query57	1163	1188	1139	1139
query58	302	293	284	284
query59	2568	2667	2588	2588
query60	379	354	350	350
query61	165	160	158	158
query62	800	747	662	662
query63	234	196	191	191
query64	4420	1186	866	866
query65	4038	3935	3995	3935
query66	1089	434	339	339
query67	15420	15188	15034	15034
query68	9473	901	613	613
query69	511	326	296	296
query70	1405	1309	1285	1285
query71	502	356	323	323
query72	5558	4884	5009	4884
query73	680	562	362	362
query74	9041	8842	9003	8842
query75	4421	3373	2884	2884
query76	3722	1160	807	807
query77	944	406	326	326
query78	9645	9832	8949	8949
query79	1836	866	601	601
query80	688	564	523	523
query81	485	261	230	230
query82	443	164	139	139
query83	275	286	252	252
query84	266	120	97	97
query85	905	474	438	438
query86	340	294	286	286
query87	3708	3772	3671	3671
query88	3410	2276	2225	2225
query89	395	330	300	300
query90	2032	217	234	217
query91	177	169	148	148
query92	82	71	64	64
query93	1287	1004	663	663
query94	698	443	330	330
query95	407	328	320	320
query96	500	585	292	292
query97	2969	2987	2866	2866
query98	250	220	210	210
query99	1431	1405	1332	1332
Total cold run time: 282668 ms
Total hot run time: 190809 ms

@doris-robot
Copy link

ClickBench: Total hot run time: 27.74 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit eb7bbf12f419abd237e0d4beb68a1b4e93c4d7e6, data reload: false

query1	0.05	0.05	0.05
query2	0.10	0.05	0.06
query3	0.26	0.09	0.10
query4	1.60	0.12	0.12
query5	0.28	0.26	0.26
query6	1.21	0.68	0.65
query7	0.03	0.03	0.02
query8	0.06	0.04	0.04
query9	0.63	0.51	0.53
query10	0.59	0.58	0.58
query11	0.20	0.11	0.11
query12	0.15	0.11	0.12
query13	0.63	0.61	0.61
query14	1.01	1.01	1.00
query15	0.85	0.83	0.86
query16	0.40	0.38	0.40
query17	1.08	1.02	1.03
query18	0.21	0.20	0.20
query19	1.90	1.83	1.83
query20	0.02	0.01	0.01
query21	15.44	0.19	0.13
query22	5.09	0.08	0.05
query23	15.64	0.26	0.10
query24	2.38	0.55	0.55
query25	0.06	0.07	0.06
query26	0.15	0.13	0.15
query27	0.06	0.06	0.06
query28	4.44	1.11	0.94
query29	12.71	3.95	3.29
query30	0.28	0.14	0.12
query31	2.82	0.61	0.38
query32	3.24	0.56	0.47
query33	3.06	3.02	3.10
query34	15.93	5.14	4.55
query35	4.57	4.55	4.61
query36	0.68	0.51	0.50
query37	0.10	0.07	0.07
query38	0.06	0.04	0.04
query39	0.04	0.03	0.02
query40	0.17	0.15	0.14
query41	0.09	0.03	0.03
query42	0.05	0.03	0.03
query43	0.05	0.04	0.04
Total cold run time: 98.37 s
Total hot run time: 27.74 s

@hello-stephen
Copy link
Contributor

FE UT Coverage Report

Increment line coverage 34.74% (132/380) 🎉
Increment coverage report
Complete coverage report

@hello-stephen
Copy link
Contributor

FE Regression Coverage Report

Increment line coverage 78.95% (300/380) 🎉
Increment coverage report
Complete coverage report

@seawinde seawinde force-pushed the support_limit_topN_rewrite_single_pr branch from eb7bbf1 to 6e23e18 Compare November 3, 2025 09:14
@seawinde
Copy link
Contributor Author

seawinde commented Nov 3, 2025

run buildall

@seawinde seawinde force-pushed the support_limit_topN_rewrite_single_pr branch from 1b74bc0 to 581f44b Compare November 10, 2025 09:05
@seawinde
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

TPC-H: Total hot run time: 34465 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit 581f44b5c42d6f6e4ac16146d4d53eb3d455c5eb, data reload: false

------ Round 1 ----------------------------------
q1	17595	5177	5025	5025
q2	2024	322	211	211
q3	10265	1289	729	729
q4	10217	877	365	365
q5	7490	2371	2359	2359
q6	186	168	136	136
q7	943	769	640	640
q8	9373	1322	1155	1155
q9	7338	5162	5199	5162
q10	6865	2226	1837	1837
q11	499	294	294	294
q12	354	360	228	228
q13	17784	3641	3025	3025
q14	237	239	217	217
q15	591	515	502	502
q16	1006	1006	944	944
q17	607	859	379	379
q18	7417	7116	7224	7116
q19	1344	943	564	564
q20	348	346	233	233
q21	3730	3264	2346	2346
q22	1073	1031	998	998
Total cold run time: 107286 ms
Total hot run time: 34465 ms

----- Round 2, with runtime_filter_mode=off -----
q1	5141	5067	5060	5060
q2	253	332	241	241
q3	2190	2662	2318	2318
q4	1374	1775	1359	1359
q5	4222	4472	4581	4472
q6	211	167	130	130
q7	2082	2029	1914	1914
q8	2654	2553	2496	2496
q9	7409	7460	7238	7238
q10	3095	3225	2868	2868
q11	583	545	500	500
q12	710	800	743	743
q13	3466	3798	3306	3306
q14	292	313	305	305
q15	550	534	502	502
q16	1096	1120	1044	1044
q17	1161	1551	1460	1460
q18	7822	7747	7674	7674
q19	808	769	815	769
q20	1959	1978	1815	1815
q21	4848	4344	4268	4268
q22	1087	1024	1012	1012
Total cold run time: 53013 ms
Total hot run time: 51494 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 187826 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit 581f44b5c42d6f6e4ac16146d4d53eb3d455c5eb, data reload: false

query1	1054	412	401	401
query2	6595	1694	1685	1685
query3	6753	230	233	230
query4	26584	24123	23077	23077
query5	4404	622	477	477
query6	340	250	225	225
query7	4646	485	297	297
query8	327	261	252	252
query9	8684	2575	2583	2575
query10	493	339	289	289
query11	15570	15446	14904	14904
query12	173	129	118	118
query13	1686	560	426	426
query14	10270	9238	9263	9238
query15	209	188	169	169
query16	7171	668	527	527
query17	1193	751	618	618
query18	1985	439	323	323
query19	216	227	176	176
query20	129	124	125	124
query21	218	134	112	112
query22	4083	4220	3974	3974
query23	34109	33259	33107	33107
query24	8477	2370	2416	2370
query25	594	510	451	451
query26	1244	271	158	158
query27	2757	503	358	358
query28	4411	2176	2188	2176
query29	839	626	496	496
query30	302	231	196	196
query31	916	787	712	712
query32	82	75	71	71
query33	587	382	329	329
query34	819	871	529	529
query35	807	827	744	744
query36	929	989	889	889
query37	128	118	89	89
query38	3568	3572	3572	3572
query39	1484	1458	1410	1410
query40	223	130	124	124
query41	64	63	60	60
query42	130	116	112	112
query43	495	499	476	476
query44	1264	741	741	741
query45	187	184	176	176
query46	874	994	641	641
query47	1768	1803	1684	1684
query48	395	447	330	330
query49	785	529	422	422
query50	641	685	413	413
query51	3911	3988	3859	3859
query52	115	117	112	112
query53	251	277	197	197
query54	323	307	293	293
query55	90	90	89	89
query56	345	359	317	317
query57	1180	1195	1107	1107
query58	295	285	293	285
query59	2486	2690	2513	2513
query60	357	374	348	348
query61	194	185	190	185
query62	802	745	686	686
query63	235	200	203	200
query64	4670	1324	979	979
query65	4035	3936	3955	3936
query66	1188	453	364	364
query67	15447	15095	14881	14881
query68	8180	932	612	612
query69	518	335	302	302
query70	1322	1236	1261	1236
query71	443	345	322	322
query72	6233	4995	5037	4995
query73	678	633	367	367
query74	9059	9301	8658	8658
query75	3331	3326	2761	2761
query76	3319	1146	753	753
query77	525	408	313	313
query78	9660	9821	8844	8844
query79	2084	850	610	610
query80	709	580	520	520
query81	523	262	229	229
query82	219	167	134	134
query83	265	259	259	259
query84	261	117	93	93
query85	882	489	447	447
query86	382	324	291	291
query87	3683	3705	3676	3676
query88	3150	2277	2257	2257
query89	420	343	288	288
query90	2031	234	236	234
query91	178	198	134	134
query92	91	69	65	65
query93	2206	997	647	647
query94	723	430	343	343
query95	413	317	321	317
query96	497	574	284	284
query97	2913	2993	2885	2885
query98	254	225	215	215
query99	1336	1398	1331	1331
Total cold run time: 274074 ms
Total hot run time: 187826 ms

@doris-robot
Copy link

ClickBench: Total hot run time: 27.75 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 581f44b5c42d6f6e4ac16146d4d53eb3d455c5eb, data reload: false

query1	0.05	0.05	0.05
query2	0.09	0.04	0.04
query3	0.24	0.08	0.09
query4	1.60	0.11	0.11
query5	0.27	0.25	0.25
query6	1.16	0.65	0.65
query7	0.03	0.02	0.03
query8	0.05	0.04	0.04
query9	0.59	0.52	0.52
query10	0.58	0.58	0.58
query11	0.16	0.12	0.12
query12	0.16	0.12	0.12
query13	0.62	0.60	0.61
query14	1.00	0.98	1.00
query15	0.87	0.84	0.84
query16	0.40	0.41	0.40
query17	1.02	1.02	1.01
query18	0.21	0.20	0.20
query19	1.90	1.82	1.80
query20	0.02	0.01	0.01
query21	15.43	0.21	0.13
query22	4.91	0.06	0.04
query23	15.73	0.27	0.10
query24	2.79	0.63	0.75
query25	0.07	0.06	0.06
query26	0.14	0.13	0.12
query27	0.07	0.05	0.06
query28	4.54	1.16	0.93
query29	12.56	3.95	3.21
query30	0.28	0.13	0.11
query31	2.93	0.59	0.39
query32	3.24	0.55	0.48
query33	3.10	3.08	3.10
query34	15.75	5.22	4.59
query35	4.55	4.57	4.64
query36	0.66	0.50	0.50
query37	0.10	0.06	0.07
query38	0.06	0.04	0.03
query39	0.03	0.02	0.02
query40	0.18	0.14	0.14
query41	0.08	0.04	0.03
query42	0.04	0.02	0.02
query43	0.05	0.04	0.04
Total cold run time: 98.31 s
Total hot run time: 27.75 s

@hello-stephen
Copy link
Contributor

FE Regression Coverage Report

Increment line coverage 78.36% (297/379) 🎉
Increment coverage report
Complete coverage report

@seawinde
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

TPC-H: Total hot run time: 34120 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit 7ea33c1665fb84676e2ea025422e0bba21b6a854, data reload: false

------ Round 1 ----------------------------------
q1	17589	5159	5017	5017
q2	2008	328	208	208
q3	10259	1280	712	712
q4	10227	898	384	384
q5	7534	2380	2373	2373
q6	178	165	136	136
q7	932	765	632	632
q8	9367	1319	1089	1089
q9	6955	5114	5151	5114
q10	7032	2252	1806	1806
q11	506	296	311	296
q12	353	358	224	224
q13	17809	3619	3016	3016
q14	231	229	210	210
q15	580	518	505	505
q16	981	986	943	943
q17	588	858	344	344
q18	7610	7140	7044	7044
q19	1258	930	559	559
q20	353	326	231	231
q21	3803	3193	2311	2311
q22	1061	1015	966	966
Total cold run time: 107214 ms
Total hot run time: 34120 ms

----- Round 2, with runtime_filter_mode=off -----
q1	5153	5128	5124	5124
q2	252	343	237	237
q3	2204	2670	2332	2332
q4	1355	1748	1338	1338
q5	4207	4392	4585	4392
q6	212	171	132	132
q7	1989	1929	1870	1870
q8	2649	2590	2537	2537
q9	7292	7283	7315	7283
q10	3110	3273	2874	2874
q11	637	562	524	524
q12	725	801	638	638
q13	3475	3954	3394	3394
q14	444	309	271	271
q15	552	510	508	508
q16	1058	1123	1026	1026
q17	1222	1538	1427	1427
q18	7874	7722	7687	7687
q19	801	821	919	821
q20	1979	1961	1799	1799
q21	4761	4378	4346	4346
q22	1109	1063	1004	1004
Total cold run time: 53060 ms
Total hot run time: 51564 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 186175 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit 7ea33c1665fb84676e2ea025422e0bba21b6a854, data reload: false

query1	1032	414	406	406
query2	6562	1678	1687	1678
query3	6768	223	221	221
query4	26215	23895	23340	23340
query5	4477	627	493	493
query6	355	245	239	239
query7	4654	500	320	320
query8	329	269	248	248
query9	8731	2609	2628	2609
query10	531	366	317	317
query11	15261	15288	14853	14853
query12	186	121	113	113
query13	1692	587	458	458
query14	10419	9380	9393	9380
query15	202	192	179	179
query16	7565	681	549	549
query17	1280	780	654	654
query18	2022	429	339	339
query19	232	210	184	184
query20	136	127	124	124
query21	218	140	116	116
query22	3938	4067	4155	4067
query23	33917	33082	33129	33082
query24	8484	2447	2382	2382
query25	648	543	487	487
query26	1225	279	169	169
query27	2736	502	363	363
query28	4410	2225	2231	2225
query29	838	633	524	524
query30	302	235	198	198
query31	909	854	732	732
query32	85	75	72	72
query33	652	396	350	350
query34	842	844	514	514
query35	815	825	754	754
query36	975	997	908	908
query37	124	107	83	83
query38	3586	3539	3511	3511
query39	1470	1413	1429	1413
query40	226	132	123	123
query41	62	61	59	59
query42	127	117	116	116
query43	504	519	475	475
query44	1272	740	744	740
query45	189	181	179	179
query46	878	1048	651	651
query47	1743	1795	1709	1709
query48	404	429	336	336
query49	792	528	425	425
query50	653	690	404	404
query51	3818	3876	3852	3852
query52	109	115	108	108
query53	256	283	206	206
query54	308	305	278	278
query55	86	93	83	83
query56	344	320	369	320
query57	1176	1189	1105	1105
query58	298	283	281	281
query59	2558	2681	2540	2540
query60	348	358	328	328
query61	164	161	159	159
query62	813	723	670	670
query63	232	188	202	188
query64	4485	1185	864	864
query65	4051	3936	3968	3936
query66	1167	447	343	343
query67	15360	15120	14776	14776
query68	8313	933	597	597
query69	498	331	287	287
query70	1299	1343	1245	1245
query71	480	339	314	314
query72	6028	2718	5375	2718
query73	781	772	364	364
query74	8968	9172	8874	8874
query75	3916	3331	2771	2771
query76	3652	1186	754	754
query77	814	420	323	323
query78	9590	9473	8841	8841
query79	3096	841	602	602
query80	689	583	512	512
query81	502	262	231	231
query82	499	164	138	138
query83	303	268	273	268
query84	314	118	95	95
query85	926	503	434	434
query86	388	341	298	298
query87	3799	3799	3660	3660
query88	3678	2247	2256	2247
query89	427	323	297	297
query90	1905	230	222	222
query91	171	181	136	136
query92	88	72	68	68
query93	2962	980	635	635
query94	733	448	323	323
query95	412	334	317	317
query96	489	588	279	279
query97	2953	2985	2888	2888
query98	250	216	214	214
query99	1473	1392	1315	1315
Total cold run time: 277642 ms
Total hot run time: 186175 ms

@doris-robot
Copy link

ClickBench: Total hot run time: 27.85 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 7ea33c1665fb84676e2ea025422e0bba21b6a854, data reload: false

query1	0.05	0.05	0.05
query2	0.10	0.05	0.05
query3	0.27	0.08	0.08
query4	1.60	0.11	0.10
query5	0.28	0.25	0.26
query6	1.21	0.65	0.65
query7	0.03	0.02	0.03
query8	0.06	0.04	0.05
query9	0.59	0.51	0.51
query10	0.56	0.59	0.58
query11	0.17	0.11	0.12
query12	0.16	0.13	0.12
query13	0.62	0.61	0.60
query14	1.01	1.02	1.01
query15	0.85	0.85	0.85
query16	0.39	0.38	0.40
query17	1.05	1.05	1.06
query18	0.22	0.20	0.20
query19	1.86	1.85	1.84
query20	0.02	0.01	0.02
query21	15.47	0.17	0.12
query22	5.14	0.07	0.05
query23	15.64	0.25	0.10
query24	2.93	0.62	0.68
query25	0.06	0.06	0.06
query26	0.14	0.15	0.13
query27	0.07	0.06	0.06
query28	4.26	1.13	0.93
query29	12.54	3.87	3.25
query30	0.28	0.15	0.13
query31	2.83	0.60	0.38
query32	3.22	0.55	0.47
query33	3.01	3.06	3.01
query34	15.74	5.18	4.57
query35	4.56	4.63	4.58
query36	0.67	0.51	0.49
query37	0.10	0.07	0.07
query38	0.06	0.05	0.05
query39	0.04	0.03	0.03
query40	0.17	0.15	0.15
query41	0.08	0.03	0.04
query42	0.04	0.03	0.03
query43	0.04	0.04	0.04
Total cold run time: 98.19 s
Total hot run time: 27.85 s

@hello-stephen
Copy link
Contributor

FE UT Coverage Report

Increment line coverage 41.95% (159/379) 🎉
Increment coverage report
Complete coverage report

@hello-stephen
Copy link
Contributor

FE Regression Coverage Report

Increment line coverage 56.20% (213/379) 🎉
Increment coverage report
Complete coverage report

@github-actions github-actions bot added the approved Indicates a PR has been approved by one committer. label Nov 17, 2025
@github-actions
Copy link
Contributor

PR approved by at least one committer and no changes requested.

@github-actions
Copy link
Contributor

PR approved by anyone and no changes requested.

@hello-stephen
Copy link
Contributor

FE Regression Coverage Report

Increment line coverage 56.20% (213/379) 🎉
Increment coverage report
Complete coverage report

@starocean999 starocean999 merged commit 093dc7b into apache:master Nov 18, 2025
28 checks passed
github-actions bot pushed a commit that referenced this pull request Nov 18, 2025
…ains limit or topN (#55194)

Support limit or topN rewrite when materialized view contains limit or
topN

the doc pr is apache/doris-website#3059

such as mv def is as fllowing
```sql
        CREATE MATERIALIZED VIEW mv_with_limit
        BUILD IMMEDIATE REFRESH COMPLETE ON MANUAL
        DISTRIBUTED BY RANDOM BUCKETS 2
        PROPERTIES ('replication_num' = '1') 
        AS
            select
            o_orderdate,
            o_shippriority,
            o_comment
            from
            orders
            limit 4 offset 2;
```

query is as following which can be rewritten success by mv
`mv_with_limit` above
```sql
            select
            o_orderdate,
            o_shippriority,
            o_comment
            from
            orders
            limit 2 offset 3;
```


another example:
such as mv def is as fllowing
```sql
        CREATE MATERIALIZED VIEW mv_with_topN
        BUILD IMMEDIATE REFRESH COMPLETE ON MANUAL
        DISTRIBUTED BY RANDOM BUCKETS 2
        PROPERTIES ('replication_num' = '1') 
        AS
            select
            o_orderdate,
            o_shippriority,
            o_comment
            from
            orders
            order by o_orderkey
            limit 4 offset 2;
```

query is as following which can be rewritten success by mv
`mv_with_topN` above
```sql
            select
            o_orderdate,
            o_shippriority,
            o_comment
            from
            orders
            order by o_orderkey
            limit 2 offset 5;
```
yiguolei pushed a commit that referenced this pull request Nov 26, 2025
…ed view contains limit or topN #55194 (#58106)

Cherry-picked from #55194

Co-authored-by: seawinde <wusi@selectdb.com>
nagisa-kunhah pushed a commit to nagisa-kunhah/doris that referenced this pull request Dec 14, 2025
…ains limit or topN (apache#55194)

Support limit or topN rewrite when materialized view contains limit or
topN

the doc pr is apache/doris-website#3059

such as mv def is as fllowing
```sql
        CREATE MATERIALIZED VIEW mv_with_limit
        BUILD IMMEDIATE REFRESH COMPLETE ON MANUAL
        DISTRIBUTED BY RANDOM BUCKETS 2
        PROPERTIES ('replication_num' = '1') 
        AS
            select
            o_orderdate,
            o_shippriority,
            o_comment
            from
            orders
            limit 4 offset 2;
```

query is as following which can be rewritten success by mv
`mv_with_limit` above
```sql
            select
            o_orderdate,
            o_shippriority,
            o_comment
            from
            orders
            limit 2 offset 3;
```


another example:
such as mv def is as fllowing
```sql
        CREATE MATERIALIZED VIEW mv_with_topN
        BUILD IMMEDIATE REFRESH COMPLETE ON MANUAL
        DISTRIBUTED BY RANDOM BUCKETS 2
        PROPERTIES ('replication_num' = '1') 
        AS
            select
            o_orderdate,
            o_shippriority,
            o_comment
            from
            orders
            order by o_orderkey
            limit 4 offset 2;
```

query is as following which can be rewritten success by mv
`mv_with_topN` above
```sql
            select
            o_orderdate,
            o_shippriority,
            o_comment
            from
            orders
            order by o_orderkey
            limit 2 offset 5;
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by one committer. dev/4.0.2-merged reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants