Skip to content

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

Open
linrrzqqq wants to merge 1 commit intoapache:masterfrom
linrrzqqq:json-each
Open

[Feature](func) Support table function json_each, json_each_text#60910
linrrzqqq wants to merge 1 commit 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)

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.

4 participants