Skip to content

[Feature](func) Support table function json_each, json_each_text#60910

Open
linrrzqqq wants to merge 2 commits intoapache:masterfrom
linrrzqqq:json-each
Open

[Feature](func) Support table function json_each, json_each_text#60910
linrrzqqq wants to merge 2 commits intoapache:masterfrom
linrrzqqq:json-each

Conversation

@linrrzqqq
Copy link
Contributor

@linrrzqqq linrrzqqq commented Feb 28, 2026

What problem does this PR solve?

Issue Number: close #xxx

Related PR: #xxx

Problem Summary:

Release note

doc: apache/doris-website#3422

Doris> SELECT k, v
    -> FROM (SELECT 1) dummy
    -> LATERAL VIEW json_each('{"a":"foo","b":"bar"}') t AS k, v;
+------+-------+
| k    | v     |
+------+-------+
| a    | "foo" |
| b    | "bar" |
+------+-------+
2 rows in set (0.01 sec)

Doris> SELECT k, v
    -> FROM (SELECT 1) dummy
    -> LATERAL VIEW json_each_text('{"a":"foo","b":"bar"}') t AS k, v;
+------+------+
| k    | v    |
+------+------+
| a    | foo  |
| b    | bar  |
+------+------+
2 rows in set (0.01 sec)

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

@linrrzqqq linrrzqqq requested a review from zclllyybb as a code owner February 28, 2026 07:56
@hello-stephen
Copy link
Contributor

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?

@zclllyybb zclllyybb self-assigned this Feb 28, 2026
@linrrzqqq
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
============================================
q1	17655	4452	4296	4296
q2	q3	10643	814	528	528
q4	4680	363	266	266
q5	7590	1212	1039	1039
q6	184	180	145	145
q7	789	824	674	674
q8	10106	1485	1317	1317
q9	6124	4723	4751	4723
q10	6865	1924	1631	1631
q11	449	244	261	244
q12	748	573	461	461
q13	17797	4255	3439	3439
q14	233	233	214	214
q15	980	826	784	784
q16	761	731	665	665
q17	788	938	413	413
q18	6343	5360	5249	5249
q19	1399	991	653	653
q20	517	504	393	393
q21	4503	1833	1402	1402
q22	342	286	239	239
Total cold run time: 99496 ms
Total hot run time: 28775 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	4463	4378	4337	4337
q2	q3	1766	2205	1717	1717
q4	853	1163	769	769
q5	4037	4346	4314	4314
q6	177	170	138	138
q7	1731	1616	1497	1497
q8	2431	2696	2489	2489
q9	7988	7433	7328	7328
q10	2671	2826	2496	2496
q11	529	458	418	418
q12	508	616	471	471
q13	3969	4575	3575	3575
q14	289	304	286	286
q15	848	801	801	801
q16	720	781	722	722
q17	1197	1548	1469	1469
q18	7149	6826	6586	6586
q19	892	841	883	841
q20	2112	2160	2151	2151
q21	3960	3575	3333	3333
q22	517	442	376	376
Total cold run time: 48807 ms
Total hot run time: 46114 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 184699 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 980c1881a75967647871694ec87db39ac02a9c71, data reload: false

query5	4777	632	532	532
query6	329	221	202	202
query7	4224	471	278	278
query8	340	254	243	243
query9	8745	2775	2767	2767
query10	515	395	354	354
query11	17012	17601	17453	17453
query12	209	130	126	126
query13	1267	494	352	352
query14	6936	3380	3181	3181
query14_1	3063	2935	2922	2922
query15	210	206	188	188
query16	4189	510	480	480
query17	1124	744	620	620
query18	2455	453	350	350
query19	218	227	172	172
query20	137	125	134	125
query21	219	153	117	117
query22	5580	5205	5120	5120
query23	17203	16747	16472	16472
query23_1	16653	16734	16627	16627
query24	7090	1621	1217	1217
query24_1	1232	1207	1225	1207
query25	579	439	408	408
query26	1184	253	151	151
query27	2755	460	295	295
query28	4454	1862	1868	1862
query29	742	557	480	480
query30	313	246	210	210
query31	877	736	654	654
query32	84	75	70	70
query33	545	334	280	280
query34	922	904	566	566
query35	628	674	603	603
query36	1100	1174	985	985
query37	136	96	86	86
query38	2964	2988	2879	2879
query39	933	856	835	835
query39_1	832	832	832	832
query40	233	151	136	136
query41	68	64	62	62
query42	105	106	103	103
query43	381	389	360	360
query44	
query45	203	193	188	188
query46	888	1037	619	619
query47	2143	2128	2021	2021
query48	312	321	264	264
query49	638	472	408	408
query50	697	290	225	225
query51	4089	4064	4122	4064
query52	106	112	97	97
query53	298	346	280	280
query54	304	281	279	279
query55	97	89	89	89
query56	332	318	326	318
query57	1362	1331	1274	1274
query58	303	281	289	281
query59	2576	2709	2565	2565
query60	355	344	342	342
query61	175	176	173	173
query62	628	592	547	547
query63	321	281	289	281
query64	4529	1244	990	990
query65	
query66	1292	449	351	351
query67	16534	16367	16427	16367
query68	
query69	389	316	279	279
query70	965	989	956	956
query71	330	299	299	299
query72	2728	2695	2500	2500
query73	542	551	317	317
query74	10006	9936	9741	9741
query75	2847	2761	2477	2477
query76	1865	1041	690	690
query77	390	372	313	313
query78	11228	11316	10746	10746
query79	3158	779	606	606
query80	1700	624	540	540
query81	598	281	244	244
query82	993	145	116	116
query83	338	260	241	241
query84	255	123	96	96
query85	874	466	428	428
query86	492	314	289	289
query87	3102	3109	3020	3020
query88	3564	2669	2652	2652
query89	425	369	347	347
query90	2007	177	176	176
query91	188	152	131	131
query92	78	79	68	68
query93	1451	848	515	515
query94	638	321	260	260
query95	584	330	312	312
query96	640	516	231	231
query97	2472	2494	2409	2409
query98	238	223	215	215
query99	981	1002	916	916
Total cold run time: 259120 ms
Total hot run time: 184699 ms

@hello-stephen
Copy link
Contributor

BE UT Coverage Report

Increment line coverage 67.53% (104/154) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 52.58% (19639/37352)
Line Coverage 36.20% (183343/506508)
Region Coverage 32.48% (142180/437742)
Branch Coverage 33.44% (61678/184422)

@hello-stephen
Copy link
Contributor

BE Regression && UT Coverage Report

Increment line coverage 76.62% (118/154) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 71.46% (26137/36574)
Line Coverage 54.28% (274071/504955)
Region Coverage 51.50% (227579/441879)
Branch Coverage 52.90% (97861/184986)

@linrrzqqq
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
============================================
q1	17630	4534	4322	4322
q2	q3	10649	778	517	517
q4	4686	343	254	254
q5	7555	1212	1027	1027
q6	171	175	147	147
q7	764	859	673	673
q8	9289	1445	1292	1292
q9	4826	4738	4717	4717
q10	6800	1889	1657	1657
q11	448	252	264	252
q12	749	557	470	470
q13	17768	4190	3440	3440
q14	224	231	214	214
q15	970	799	787	787
q16	747	707	680	680
q17	726	898	432	432
q18	5933	5480	5407	5407
q19	1118	995	610	610
q20	529	506	406	406
q21	4470	1806	1390	1390
q22	337	280	244	244
Total cold run time: 96389 ms
Total hot run time: 28938 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	4446	4349	4343	4343
q2	q3	1758	2181	1721	1721
q4	818	1155	760	760
q5	3999	4313	4303	4303
q6	181	169	136	136
q7	1724	1592	1482	1482
q8	2421	2657	2521	2521
q9	7393	7424	7405	7405
q10	2791	2851	2424	2424
q11	533	435	417	417
q12	508	589	450	450
q13	3936	4406	3703	3703
q14	296	315	293	293
q15	879	845	807	807
q16	721	759	725	725
q17	1185	1560	1333	1333
q18	7169	6715	6523	6523
q19	862	856	890	856
q20	2094	2179	2065	2065
q21	3979	3685	3353	3353
q22	479	437	395	395
Total cold run time: 48172 ms
Total hot run time: 46015 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 184511 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 844f62ce6cc898c9512589d1a809642ff1b28b4a, data reload: false

query5	5179	644	529	529
query6	332	226	202	202
query7	4233	480	274	274
query8	346	242	240	240
query9	8748	2755	2731	2731
query10	565	402	361	361
query11	17094	17488	17265	17265
query12	201	129	125	125
query13	1339	465	358	358
query14	7074	3325	3081	3081
query14_1	3056	2956	3168	2956
query15	212	198	188	188
query16	964	480	496	480
query17	2434	809	633	633
query18	2763	481	384	384
query19	223	225	202	202
query20	163	149	152	149
query21	229	148	128	128
query22	5623	5051	4916	4916
query23	17331	16904	16581	16581
query23_1	16713	16719	16718	16718
query24	7172	1613	1244	1244
query24_1	1240	1248	1223	1223
query25	569	502	423	423
query26	1237	263	156	156
query27	2702	456	294	294
query28	4467	1874	1870	1870
query29	789	561	470	470
query30	313	243	207	207
query31	864	713	639	639
query32	82	74	68	68
query33	516	330	271	271
query34	908	902	560	560
query35	625	698	628	628
query36	1099	1091	964	964
query37	128	92	79	79
query38	2905	2920	2921	2920
query39	899	869	840	840
query39_1	829	836	824	824
query40	231	153	134	134
query41	63	61	58	58
query42	107	102	100	100
query43	373	384	369	369
query44	
query45	197	190	180	180
query46	875	994	612	612
query47	2122	2157	2050	2050
query48	320	309	229	229
query49	626	464	392	392
query50	671	281	222	222
query51	4086	4045	4056	4045
query52	108	110	99	99
query53	286	342	282	282
query54	297	277	276	276
query55	89	83	82	82
query56	320	312	344	312
query57	1355	1315	1289	1289
query58	283	278	274	274
query59	2570	2701	2550	2550
query60	360	341	313	313
query61	154	150	142	142
query62	615	593	530	530
query63	317	283	275	275
query64	4836	1289	1010	1010
query65	
query66	1398	468	353	353
query67	16342	16491	16323	16323
query68	
query69	386	316	279	279
query70	1018	949	957	949
query71	340	310	293	293
query72	2880	2663	2396	2396
query73	538	549	322	322
query74	10008	9958	9747	9747
query75	2841	2748	2471	2471
query76	2302	1021	683	683
query77	358	378	304	304
query78	11185	11294	10700	10700
query79	3232	826	592	592
query80	1823	617	533	533
query81	582	275	252	252
query82	1000	153	116	116
query83	344	257	240	240
query84	258	120	102	102
query85	909	482	428	428
query86	500	330	296	296
query87	3115	3075	3143	3075
query88	3585	2713	2681	2681
query89	431	362	350	350
query90	2193	179	169	169
query91	161	159	141	141
query92	86	74	74	74
query93	1875	844	516	516
query94	659	310	299	299
query95	572	336	321	321
query96	650	510	230	230
query97	2478	2506	2416	2416
query98	232	220	218	218
query99	982	987	859	859
Total cold run time: 260533 ms
Total hot run time: 184511 ms

@hello-stephen
Copy link
Contributor

FE UT Coverage Report

Increment line coverage 13.33% (4/30) 🎉
Increment coverage report
Complete coverage report

@hello-stephen
Copy link
Contributor

BE UT Coverage Report

Increment line coverage 80.82% (118/146) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 52.59% (19645/37352)
Line Coverage 36.24% (183561/506500)
Region Coverage 32.51% (142314/437690)
Branch Coverage 33.47% (61721/184408)

@hello-stephen
Copy link
Contributor

BE Regression && UT Coverage Report

Increment line coverage 90.41% (132/146) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 73.31% (26811/36574)
Line Coverage 56.67% (286168/504947)
Region Coverage 54.17% (239319/441827)
Branch Coverage 55.70% (103024/184972)

@HappenLee
Copy link
Contributor

/review

@zclllyybb zclllyybb changed the base branch from master to auto-pick-59288-branch-3.1 March 3, 2026 03:14
@zclllyybb zclllyybb requested a review from morrySnow as a code owner March 3, 2026 03:14
@zclllyybb zclllyybb changed the base branch from auto-pick-59288-branch-3.1 to master March 3, 2026 03:14
@zclllyybb zclllyybb closed this Mar 3, 2026
@zclllyybb zclllyybb reopened this Mar 3, 2026
@zclllyybb
Copy link
Contributor

/review

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review Summary: [Feature](func) Support table function json_each, json_each_text

Overall this is a well-structured addition of two new table-generating functions (json_each and json_each_text) that expand JSON objects into key/value rows. The implementation follows existing patterns in the codebase (similar to explode_json_object). The C++ implementation is correct, the FE Java classes follow the established TableGeneratingFunction pattern, and the tests are comprehensive.

Issues Found

1. [Indentation] BuiltinTableGeneratingFunctions.javajson_each_text line has inconsistent indentation
The json_each_text entry has 20 spaces of indentation vs 12 spaces for every other entry in the list. Minor formatting issue.

2. [Missing outer variants] json_each and json_each_text lack _outer variants
Every other table-generating function in Doris (explode, explode_map, explode_json_object, explode_split, explode_numbers, posexplode, etc.) has a corresponding _outer variant that provides LEFT JOIN-like semantics (emitting a NULL row when the input is NULL or empty). json_each/json_each_text are the only table functions without outer variants.

  • The BE side (table_function_factory.cpp) already supports outer semantics automatically (it strips the _outer suffix, looks up the base function, and calls set_outer()). No BE changes are needed.
  • However, on the FE side: (a) function_fake.cpp uses register_function instead of register_table_function_expand_outer, so json_each_outer/json_each_text_outer are not registered in the BE function factory. (b) No JsonEachOuter.java/JsonEachTextOuter.java FE classes exist. (c) No registration in BuiltinTableGeneratingFunctions.java for the outer variants.
  • This means LATERAL VIEW OUTER json_each(...) will not work.
  • Consider whether this is intentional or an oversight. If intentional, a comment explaining why would be helpful.

3. [Performance] Const column optimization is incomplete
When _is_const = true, the process_row method still re-parses the JSON and rebuilds _kv_pairs on every row. The vexplode_numbers function demonstrates the pattern of pre-computing results in process_init and returning early in process_row when const. This is functionally correct but sub-optimal for queries with const JSON columns and many rows. Not a blocker, but worth noting as a follow-up optimization.

@@ -89,7 +93,8 @@
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: Indentation inconsistency. This line has 20 spaces of indentation (5 levels), but every other entry in this list uses 12 spaces (3 levels). Should be aligned with the line above:

            tableGenerating(JsonEachText.class, "json_each_text"),

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review Summary: Feature Support table function json_each, json_each_text

Overall this is a clean, well-structured PR that follows existing patterns for adding table generating functions. The code is functionally correct, has good test coverage (unit tests + regression tests), and handles edge cases (NULL input, empty objects, non-object JSON, unicode, nested values) properly.

Issues Found

  1. [Style] Indentation inconsistency in BuiltinTableGeneratingFunctions.java — The JsonEachText registration line has extra indentation (double-indented) compared to all surrounding entries. Minor style nit.

  2. [Suggestion] Missing _outer variants — Unlike most other explode_* table functions, json_each and json_each_text do not provide _outer variants (json_each_outer, json_each_text_outer). In the BE, register_function is used instead of register_table_function_expand_outer, and no JsonEachOuter/JsonEachTextOuter FE classes exist. This means LATERAL VIEW json_each_outer(...) will fail. While there is precedent (e.g., ExplodeVariantArray, Unnest), this is a usability gap that users may expect to work, especially those coming from PostgreSQL. Consider adding outer variants, or explicitly documenting why they are omitted.

  3. [Suggestion] _is_const optimization not fully utilizedprocess_init correctly detects const columns via unpack_if_const and sets _is_const, but process_row still unconditionally re-parses JSON and rebuilds _kv_pairs on every call. Since the base class TableFunction::process_row preserves _cur_size when _is_const is true, the derived class could skip re-parsing after the first row for const inputs. This matches the existing pattern in vexplode_json_object (which also doesn't optimize), but is a missed opportunity for performance improvement with literal/const JSON inputs.

Positive Observations

  • Clean template design using TEXT_MODE bool to share code between json_each and json_each_text
  • Good handling of nullable columns, null JSON values, and edge cases
  • Comprehensive regression tests covering: basic types, nulls, empty objects, non-objects, unicode, negative numbers, booleans, nested values, and inline literals
  • Unit tests cover both get_value and get_same_many_values paths
  • Follows the established visitor pattern and function signature conventions correctly

@zclllyybb
Copy link
Contributor

/review

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review Summary: json_each / json_each_text Table Functions

Overall this is a well-structured implementation following existing patterns (particularly explode_json_object). The FE and BE implementations are consistent, the template approach (TEXT_MODE) is clean, and test coverage is reasonable. Below are findings organized by the critical review checkpoints.

Critical Checkpoint Conclusions

1. Goal & Correctness: The PR adds two table functions json_each and json_each_text that expand top-level JSON objects into key/value pairs (JSONB vs text value columns respectively). The implementation accomplishes this goal. Regression tests and unit tests prove the basic functionality.

2. Modification size/focus: The PR is focused and minimal for a new feature. 11 files changed, all related to the feature.

3. Concurrency: No concurrency concerns — table functions execute in a single-threaded pipeline context.

4. Lifecycle management: No special lifecycle concerns. Column pointers are properly nulled in process_close().

5. Configuration items: None added — N/A.

6. Incompatible changes: No incompatible changes — this is purely additive.

7. Parallel code paths (Missing _outer variants): ⚠️ Every existing explode_* table function has a corresponding _outer variant (e.g., explode_json_object / explode_json_object_outer). The _outer variant preserves the input row with NULL values when the generator produces zero rows (left-join semantics). json_each and json_each_text are missing their _outer variants. This is a functional gap — users have no way to get outer join behavior with these functions. See inline comments.

8. BE fake function registration: json_each / json_each_text are registered with register_function instead of register_table_function_expand_outer, which is consistent with not having outer variants, but inconsistent with how explode_json_object is registered. If outer variants are added, this needs to change.

9. DCHECK usage in function_fake.cpp: The new FunctionJsonEach and FunctionJsonEachText use DCHECK_EQ for argument type validation. Per coding standards, DCHECK disappears in RELEASE builds, leaving no protection. This should use a proper error return or DORIS_CHECK for invariant assertions. Note: this matches the existing pattern in FunctionExplodeJsonObject, so it's a pre-existing issue, but new code should not perpetuate it.

10. Test coverage: Good breadth — covers basic strings, numbers, booleans, null values, empty objects, SQL NULL input, non-object inputs (arrays, strings), unicode, negative numbers, inline literals, and multi-row scenarios. The BE unit test also covers get_same_many_values. Missing: FE unit tests (pattern exists in ExplodeTest.java), and the id=9 nested object/array test case only runs sql (no qt_ assertion).

11. Observability: N/A for a simple table function.

12. Transaction/persistence: N/A.

13. FE-BE variable passing: The function signatures are correctly matched between FE (JsonType input, Struct(String, JsonType/String) return) and BE (FunctionJsonEach/FunctionJsonEachText fake functions).

14. Formatting: Minor indentation issue in BuiltinTableGeneratingFunctions.java.

Issues Found (by severity)

# Severity File Issue
1 Medium Multiple Missing json_each_outer / json_each_text_outer variants
2 Low function_fake.cpp DCHECK_EQ should be DORIS_CHECK (disappears in RELEASE)
3 Nit BuiltinTableGeneratingFunctions.java Extra indentation on json_each_text line
4 Nit vjson_each.cpp compile_check_end.h placed after closing brace of namespace — inconsistent with header

@linrrzqqq
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
============================================
q1	17654	4371	4295	4295
q2	q3	10646	775	515	515
q4	4674	350	257	257
q5	7545	1212	1014	1014
q6	176	171	145	145
q7	789	857	658	658
q8	9962	1442	1295	1295
q9	4994	4716	4724	4716
q10	6857	1836	1661	1661
q11	474	263	237	237
q12	726	560	459	459
q13	17782	4194	3408	3408
q14	230	233	206	206
q15	921	790	791	790
q16	756	720	683	683
q17	699	881	400	400
q18	6249	5247	5244	5244
q19	1397	962	624	624
q20	502	479	385	385
q21	4831	1955	1465	1465
q22	395	333	248	248
Total cold run time: 98259 ms
Total hot run time: 28705 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	4651	4745	4573	4573
q2	q3	1775	2228	1796	1796
q4	856	1175	761	761
q5	4139	4420	4314	4314
q6	181	173	144	144
q7	1758	1642	1494	1494
q8	2431	2660	2529	2529
q9	7450	7273	7446	7273
q10	2595	2803	2362	2362
q11	519	425	410	410
q12	505	572	444	444
q13	4107	4403	3555	3555
q14	281	281	266	266
q15	860	804	806	804
q16	731	764	724	724
q17	1232	1535	1410	1410
q18	7117	6677	6638	6638
q19	871	843	855	843
q20	2132	2264	2025	2025
q21	3939	3479	3513	3479
q22	494	448	383	383
Total cold run time: 48624 ms
Total hot run time: 46227 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 183134 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 deb5b283f6830e7c059a916edcc1609a68f6805f, data reload: false

query5	4784	623	527	527
query6	322	232	200	200
query7	4232	469	265	265
query8	339	242	230	230
query9	8733	2723	2673	2673
query10	537	371	318	318
query11	16957	17524	17287	17287
query12	198	155	142	142
query13	1716	489	394	394
query14	6728	3275	3061	3061
query14_1	2978	2846	2893	2846
query15	207	213	190	190
query16	1001	473	493	473
query17	1196	757	635	635
query18	3005	498	358	358
query19	217	222	195	195
query20	143	149	142	142
query21	217	139	122	122
query22	5639	5004	4881	4881
query23	17143	16740	16554	16554
query23_1	16603	16631	16724	16631
query24	7130	1583	1217	1217
query24_1	1238	1228	1222	1222
query25	528	443	397	397
query26	1231	256	145	145
query27	2763	462	279	279
query28	4501	1875	1890	1875
query29	781	557	465	465
query30	313	238	206	206
query31	874	715	625	625
query32	79	76	69	69
query33	507	327	280	280
query34	914	903	565	565
query35	621	675	587	587
query36	1105	1142	1013	1013
query37	136	90	119	90
query38	2962	2916	2847	2847
query39	892	871	843	843
query39_1	839	833	844	833
query40	229	150	131	131
query41	63	58	57	57
query42	102	101	100	100
query43	371	380	351	351
query44	
query45	209	191	182	182
query46	886	992	597	597
query47	2132	2159	2060	2060
query48	309	311	235	235
query49	622	459	392	392
query50	683	273	215	215
query51	4116	4166	3986	3986
query52	102	106	95	95
query53	289	338	286	286
query54	285	271	262	262
query55	90	85	84	84
query56	300	310	309	309
query57	1348	1345	1255	1255
query58	282	274	272	272
query59	2531	2640	2501	2501
query60	329	324	306	306
query61	147	144	145	144
query62	626	591	536	536
query63	308	273	269	269
query64	4818	1238	958	958
query65	
query66	1380	448	352	352
query67	16341	16515	16260	16260
query68	
query69	396	308	293	293
query70	968	985	902	902
query71	332	306	289	289
query72	2824	2662	2336	2336
query73	528	543	314	314
query74	10000	9995	9732	9732
query75	2848	2747	2468	2468
query76	2308	1021	667	667
query77	356	382	308	308
query78	11117	11350	10664	10664
query79	1164	801	605	605
query80	1357	626	520	520
query81	560	273	261	261
query82	999	146	113	113
query83	341	255	236	236
query84	273	123	119	119
query85	884	469	426	426
query86	428	294	311	294
query87	3104	3160	3006	3006
query88	3536	2698	2635	2635
query89	421	365	345	345
query90	2029	172	164	164
query91	164	157	136	136
query92	77	78	73	73
query93	1004	841	517	517
query94	628	328	302	302
query95	566	403	314	314
query96	653	502	223	223
query97	2444	2530	2403	2403
query98	232	217	212	212
query99	986	963	924	924
Total cold run time: 254025 ms
Total hot run time: 183134 ms

@hello-stephen
Copy link
Contributor

FE UT Coverage Report

Increment line coverage 13.33% (8/60) 🎉
Increment coverage report
Complete coverage report

@hello-stephen
Copy link
Contributor

BE UT Coverage Report

Increment line coverage 80.13% (121/151) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 52.58% (19648/37367)
Line Coverage 36.20% (183420/506683)
Region Coverage 32.50% (142292/437765)
Branch Coverage 33.46% (61729/184490)

@linrrzqqq
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
============================================
q1	16850	4547	4316	4316
q2	q3	8922	809	541	541
q4	4397	351	258	258
q5	7312	1214	1034	1034
q6	176	174	148	148
q7	779	845	678	678
q8	9086	1461	1329	1329
q9	4764	4761	4631	4631
q10	6756	1861	1619	1619
q11	477	260	235	235
q12	698	578	461	461
q13	17571	4273	3407	3407
q14	223	232	211	211
q15	979	797	787	787
q16	744	709	679	679
q17	704	911	410	410
q18	5887	5480	5422	5422
q19	1342	986	626	626
q20	507	491	383	383
q21	4694	1851	1377	1377
q22	345	287	248	248
Total cold run time: 93213 ms
Total hot run time: 28800 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	4434	4361	4325	4325
q2	q3	1783	2165	1720	1720
q4	845	1154	754	754
q5	4025	4318	4310	4310
q6	173	168	143	143
q7	1705	1598	1520	1520
q8	2406	2653	2491	2491
q9	7254	7742	7540	7540
q10	2661	2856	2401	2401
q11	506	441	422	422
q12	512	609	442	442
q13	3987	4421	3626	3626
q14	275	318	369	318
q15	851	791	815	791
q16	711	747	730	730
q17	1156	1547	1355	1355
q18	7048	6826	6839	6826
q19	955	920	882	882
q20	2086	2144	1949	1949
q21	3961	3425	3290	3290
q22	480	441	382	382
Total cold run time: 47814 ms
Total hot run time: 46217 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 184829 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 0c3262adf886b02307d318d33b8d44ae48a6436a, data reload: false

query5	4806	635	522	522
query6	333	230	207	207
query7	4211	480	277	277
query8	353	249	254	249
query9	8753	2759	2767	2759
query10	546	393	381	381
query11	16958	17571	17095	17095
query12	202	139	129	129
query13	1325	492	420	420
query14	7187	3314	3082	3082
query14_1	3056	2922	2976	2922
query15	230	212	197	197
query16	1036	478	497	478
query17	1176	813	602	602
query18	3189	457	380	380
query19	211	221	179	179
query20	141	132	145	132
query21	224	146	123	123
query22	5573	5646	5314	5314
query23	17599	17114	16959	16959
query23_1	16892	16717	16684	16684
query24	7030	1614	1230	1230
query24_1	1233	1228	1211	1211
query25	542	451	406	406
query26	1234	256	152	152
query27	2786	470	280	280
query28	4449	1883	1872	1872
query29	799	558	474	474
query30	309	243	211	211
query31	865	739	637	637
query32	79	71	66	66
query33	512	328	294	294
query34	955	909	567	567
query35	627	673	588	588
query36	1096	1094	989	989
query37	129	93	85	85
query38	3003	3007	2853	2853
query39	877	880	846	846
query39_1	818	828	956	828
query40	230	152	136	136
query41	65	59	57	57
query42	103	101	99	99
query43	390	379	345	345
query44	
query45	201	188	182	182
query46	871	984	603	603
query47	2108	2137	2063	2063
query48	295	314	239	239
query49	630	467	374	374
query50	675	278	222	222
query51	4062	4189	4069	4069
query52	107	105	94	94
query53	291	335	286	286
query54	305	262	255	255
query55	86	81	82	81
query56	317	317	315	315
query57	1359	1324	1280	1280
query58	288	276	274	274
query59	2574	2706	2558	2558
query60	335	340	322	322
query61	153	141	145	141
query62	612	592	547	547
query63	314	278	280	278
query64	4835	1271	991	991
query65	
query66	1362	467	372	372
query67	16372	16482	16275	16275
query68	
query69	401	319	294	294
query70	1001	898	921	898
query71	346	307	306	306
query72	3029	2843	2683	2683
query73	535	549	318	318
query74	10014	9974	9776	9776
query75	2840	2737	2465	2465
query76	2312	1019	660	660
query77	362	375	310	310
query78	11296	11441	10653	10653
query79	1208	806	599	599
query80	1442	613	540	540
query81	567	276	257	257
query82	961	156	116	116
query83	348	261	252	252
query84	251	123	101	101
query85	890	471	424	424
query86	422	310	302	302
query87	3095	3154	2982	2982
query88	3563	2660	2654	2654
query89	423	371	337	337
query90	2054	174	168	168
query91	160	154	135	135
query92	85	74	69	69
query93	1039	829	519	519
query94	646	322	310	310
query95	598	340	377	340
query96	643	513	225	225
query97	2462	2456	2428	2428
query98	234	226	209	209
query99	1010	1021	920	920
Total cold run time: 255883 ms
Total hot run time: 184829 ms

@hello-stephen
Copy link
Contributor

BE UT Coverage Report

Increment line coverage 80.13% (121/151) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 52.58% (19648/37367)
Line Coverage 36.20% (183403/506683)
Region Coverage 32.49% (142219/437765)
Branch Coverage 33.45% (61704/184490)

@hello-stephen
Copy link
Contributor

FE UT Coverage Report

Increment line coverage 11.86% (7/59) 🎉
Increment coverage report
Complete coverage report

@hello-stephen
Copy link
Contributor

BE Regression && UT Coverage Report

Increment line coverage 91.39% (138/151) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 73.36% (26841/36589)
Line Coverage 56.63% (286031/505130)
Region Coverage 54.13% (239216/441902)
Branch Coverage 55.72% (103110/185054)

@hello-stephen
Copy link
Contributor

FE Regression Coverage Report

Increment line coverage 83.05% (49/59) 🎉
Increment coverage report
Complete coverage report

@linrrzqqq
Copy link
Contributor Author

/review

@hello-stephen
Copy link
Contributor

BE Regression && UT Coverage Report

Increment line coverage 91.39% (138/151) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 73.36% (26841/36589)
Line Coverage 56.63% (286031/505130)
Region Coverage 54.13% (239216/441902)
Branch Coverage 55.72% (103110/185054)

@hello-stephen
Copy link
Contributor

FE Regression Coverage Report

Increment line coverage 83.05% (49/59) 🎉
Increment coverage report
Complete coverage report

@hello-stephen
Copy link
Contributor

BE Regression && UT Coverage Report

Increment line coverage 91.39% (138/151) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 73.36% (26840/36589)
Line Coverage 56.63% (286046/505130)
Region Coverage 54.13% (239197/441902)
Branch Coverage 55.72% (103107/185054)

@hello-stephen
Copy link
Contributor

FE Regression Coverage Report

Increment line coverage 83.05% (49/59) 🎉
Increment coverage report
Complete coverage report

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants