Skip to content

Conversation

@jacktengg
Copy link
Contributor

What problem does this PR solve?

Fix error of posexplode function return type check failed

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

@jacktengg jacktengg requested a review from zclllyybb as a code owner January 9, 2026 10:25
@jacktengg
Copy link
Contributor Author

run buildall

@Thearas
Copy link
Contributor

Thearas commented Jan 9, 2026

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?

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17619	4233	4043	4043
q2	2054	362	252	252
q3	10119	1246	755	755
q4	10235	841	319	319
q5	7504	2099	1849	1849
q6	197	174	141	141
q7	925	812	654	654
q8	9275	1367	1154	1154
q9	4930	4680	4537	4537
q10	6747	1812	1401	1401
q11	500	320	285	285
q12	705	742	588	588
q13	17814	3834	3126	3126
q14	289	288	288	288
q15	579	522	506	506
q16	690	693	640	640
q17	675	808	518	518
q18	6549	6560	6816	6560
q19	1157	1015	673	673
q20	409	369	258	258
q21	3299	2626	2672	2626
q22	1106	1076	1015	1015
Total cold run time: 103377 ms
Total hot run time: 32188 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4320	4375	4227	4227
q2	345	403	318	318
q3	2287	2770	2430	2430
q4	1400	1866	1438	1438
q5	4513	4342	4252	4252
q6	220	179	135	135
q7	2019	1892	1775	1775
q8	2511	2439	2543	2439
q9	7183	7117	7088	7088
q10	2446	2787	2311	2311
q11	556	471	461	461
q12	774	836	606	606
q13	3627	4033	3312	3312
q14	269	281	259	259
q15	541	484	488	484
q16	618	656	614	614
q17	1082	1269	1366	1269
q18	7514	7270	7290	7270
q19	842	796	816	796
q20	1881	1943	1787	1787
q21	4527	4284	4105	4105
q22	1084	1040	978	978
Total cold run time: 50559 ms
Total hot run time: 48354 ms

@jacktengg
Copy link
Contributor Author

run beut

@doris-robot
Copy link

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

query5	5837	571	423	423
query6	335	231	216	216
query7	4226	462	279	279
query8	335	249	262	249
query9	8794	2660	2679	2660
query10	540	373	315	315
query11	15253	15194	14968	14968
query12	188	117	115	115
query13	1260	517	384	384
query14	7787	3003	2752	2752
query14_1	2669	2646	2647	2646
query15	262	192	179	179
query16	1003	474	462	462
query17	1302	694	589	589
query18	2730	441	352	352
query19	306	228	201	201
query20	131	121	117	117
query21	220	143	131	131
query22	4174	3981	3948	3948
query23	16325	15496	15495	15495
query23_1	15413	15322	15456	15322
query24	6970	1558	1187	1187
query24_1	1218	1174	1193	1174
query25	569	476	423	423
query26	1219	284	164	164
query27	2714	462	295	295
query28	4542	2159	2153	2153
query29	821	564	465	465
query30	308	248	215	215
query31	801	628	554	554
query32	82	78	67	67
query33	530	345	297	297
query34	882	873	541	541
query35	782	746	679	679
query36	858	902	854	854
query37	134	91	80	80
query38	2750	2720	2735	2720
query39	781	746	740	740
query39_1	723	699	720	699
query40	216	133	116	116
query41	68	61	62	61
query42	105	101	101	101
query43	475	465	416	416
query44	1311	714	715	714
query45	187	183	177	177
query46	847	960	588	588
query47	1436	1471	1378	1378
query48	304	328	252	252
query49	603	421	324	324
query50	640	284	225	225
query51	3794	3789	3747	3747
query52	105	110	102	102
query53	297	321	272	272
query54	282	254	241	241
query55	75	75	68	68
query56	276	284	272	272
query57	989	975	948	948
query58	269	246	256	246
query59	2050	2198	2079	2079
query60	319	356	306	306
query61	162	162	160	160
query62	397	356	317	317
query63	301	265	275	265
query64	4919	1311	996	996
query65	3855	3741	3791	3741
query66	1354	421	306	306
query67	15446	15040	14756	14756
query68	7184	981	694	694
query69	506	347	305	305
query70	1017	977	899	899
query71	385	300	273	273
query72	5770	3391	3391	3391
query73	771	716	292	292
query74	8761	8888	8756	8756
query75	2855	2839	2482	2482
query76	3772	1070	671	671
query77	516	356	282	282
query78	9687	9851	9317	9317
query79	1276	902	605	605
query80	665	566	476	476
query81	513	264	225	225
query82	217	141	114	114
query83	269	256	243	243
query84	267	127	105	105
query85	891	509	450	450
query86	358	316	314	314
query87	2851	2890	2687	2687
query88	3256	2195	2214	2195
query89	401	363	354	354
query90	2303	151	148	148
query91	172	168	139	139
query92	91	72	63	63
query93	1688	897	530	530
query94	569	324	293	293
query95	549	378	304	304
query96	579	454	200	200
query97	2379	2407	2306	2306
query98	222	202	205	202
query99	582	604	545	545
Total cold run time: 257324 ms
Total hot run time: 173537 ms

@hello-stephen
Copy link
Contributor

FE UT Coverage Report

Increment line coverage 100% (0/0) 🎉
Increment coverage report
Complete coverage report

@doris-robot
Copy link

BE UT Coverage Report

Increment line coverage 0.00% (0/13) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 53.01% (18973/35789)
Line Coverage 39.07% (175779/449881)
Region Coverage 33.64% (136098/404535)
Branch Coverage 34.67% (58838/169686)

@hello-stephen
Copy link
Contributor

BE Regression && UT Coverage Report

Increment line coverage 76.92% (10/13) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 73.84% (25833/34984)
Line Coverage 61.24% (274761/448648)
Region Coverage 56.10% (229239/408651)
Branch Coverage 58.05% (98816/170235)

fieldTypes[1] =
check_and_get_data_type<DataTypeArray>(arguments[0].get())->get_nested_type();
for (int i = 0; i < arguments.size(); i++) {
DCHECK(arguments[0]->get_primitive_type() == TYPE_ARRAY)
Copy link
Member

Choose a reason for hiding this comment

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

Move it to out of for loop,
Or maybe here should check arguments[i]?

And better use DCHECK_EQ instead of DCHECK

Comment on lines 127 to 131
if (nestedType->is_nullable()) {
fieldTypes[i + 1] = nestedType;
} else {
fieldTypes[i + 1] = make_nullable(nestedType);
}
Copy link
Member

Choose a reason for hiding this comment

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

fieldTypes[i + 1] = make_nullable(nestedType); is sufficient.

@jacktengg
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17679	4355	4092	4092
q2	2089	371	256	256
q3	10085	1293	716	716
q4	10223	869	304	304
q5	7555	2130	1825	1825
q6	195	173	140	140
q7	928	787	657	657
q8	9278	1417	1203	1203
q9	4987	4598	4600	4598
q10	6745	1795	1401	1401
q11	530	297	301	297
q12	692	726	572	572
q13	17800	3837	3120	3120
q14	301	297	276	276
q15	594	518	510	510
q16	675	688	653	653
q17	647	764	505	505
q18	6789	6575	6967	6575
q19	1573	1060	656	656
q20	409	387	253	253
q21	3252	2603	2479	2479
q22	1143	1068	1036	1036
Total cold run time: 104169 ms
Total hot run time: 32124 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4377	4276	4284	4276
q2	337	413	313	313
q3	2254	2771	2470	2470
q4	1450	1947	1530	1530
q5	4534	4331	4615	4331
q6	225	170	126	126
q7	1982	1960	1827	1827
q8	2582	2579	2441	2441
q9	7261	7244	7248	7244
q10	2422	2706	2279	2279
q11	580	474	459	459
q12	653	717	542	542
q13	3349	3765	3070	3070
q14	264	287	272	272
q15	527	491	478	478
q16	628	656	626	626
q17	1108	1332	1278	1278
q18	7557	7271	7336	7271
q19	845	816	800	800
q20	1878	1953	1790	1790
q21	4519	4291	4197	4197
q22	1085	1042	993	993
Total cold run time: 50417 ms
Total hot run time: 48613 ms

@hello-stephen
Copy link
Contributor

FE UT Coverage Report

Increment line coverage 100% (0/0) 🎉
Increment coverage report
Complete coverage report

@doris-robot
Copy link

TPC-DS: Total hot run time: 172686 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 056c1957e9d124770b7225d1f1fae6d02303eaae, data reload: false

query5	4461	620	492	492
query6	334	231	203	203
query7	4229	458	277	277
query8	330	241	229	229
query9	8661	2886	2841	2841
query10	447	364	338	338
query11	15215	15013	14894	14894
query12	184	119	111	111
query13	1254	479	384	384
query14	6108	3317	2712	2712
query14_1	2589	2591	2631	2591
query15	208	187	172	172
query16	1000	489	457	457
query17	1081	645	556	556
query18	2487	425	329	329
query19	221	212	189	189
query20	115	114	112	112
query21	219	143	115	115
query22	3948	4069	4120	4069
query23	16097	15659	15238	15238
query23_1	15374	15499	15434	15434
query24	7133	1523	1147	1147
query24_1	1192	1155	1192	1155
query25	564	487	424	424
query26	1244	280	157	157
query27	2750	446	273	273
query28	4563	2148	2133	2133
query29	820	553	451	451
query30	309	242	211	211
query31	824	611	555	555
query32	85	78	74	74
query33	556	360	316	316
query34	903	892	526	526
query35	743	780	677	677
query36	865	917	761	761
query37	130	101	88	88
query38	2682	2657	2592	2592
query39	775	752	726	726
query39_1	732	704	698	698
query40	219	142	123	123
query41	74	70	67	67
query42	107	102	104	102
query43	466	476	421	421
query44	1325	748	736	736
query45	188	190	177	177
query46	830	939	573	573
query47	1407	1530	1327	1327
query48	321	325	260	260
query49	620	430	357	357
query50	619	270	210	210
query51	3796	3815	3727	3727
query52	108	110	105	105
query53	288	324	271	271
query54	303	288	277	277
query55	87	84	83	83
query56	324	316	326	316
query57	1029	1028	969	969
query58	273	270	269	269
query59	1990	2214	2201	2201
query60	350	341	375	341
query61	155	155	153	153
query62	382	361	309	309
query63	293	266	268	266
query64	5056	1289	959	959
query65	3814	3750	3711	3711
query66	1432	440	315	315
query67	15447	15704	14351	14351
query68	6762	981	699	699
query69	509	358	325	325
query70	1039	959	933	933
query71	364	310	284	284
query72	5728	3402	3315	3315
query73	771	721	301	301
query74	8771	8813	8599	8599
query75	2837	2817	2493	2493
query76	3376	1051	623	623
query77	574	375	296	296
query78	9767	9713	9159	9159
query79	1680	909	580	580
query80	675	570	489	489
query81	515	261	230	230
query82	210	152	115	115
query83	258	254	242	242
query84	261	116	101	101
query85	894	496	450	450
query86	393	291	280	280
query87	2925	2891	2735	2735
query88	3670	2572	2555	2555
query89	371	334	316	316
query90	2220	185	162	162
query91	169	161	144	144
query92	92	76	68	68
query93	2307	907	517	517
query94	582	320	291	291
query95	589	333	313	313
query96	660	493	225	225
query97	2345	2375	2295	2295
query98	242	213	224	213
query99	599	578	490	490
Total cold run time: 254226 ms
Total hot run time: 172686 ms

@doris-robot
Copy link

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

query1	0.05	0.04	0.05
query2	0.10	0.05	0.05
query3	0.26	0.08	0.09
query4	1.61	0.12	0.11
query5	0.28	0.27	0.26
query6	1.14	0.66	0.64
query7	0.03	0.03	0.02
query8	0.06	0.04	0.04
query9	0.57	0.50	0.49
query10	0.56	0.55	0.55
query11	0.15	0.10	0.11
query12	0.14	0.11	0.10
query13	0.58	0.58	0.58
query14	0.95	0.94	0.94
query15	0.80	0.76	0.78
query16	0.41	0.40	0.40
query17	1.06	1.01	1.06
query18	0.23	0.21	0.21
query19	1.93	1.88	1.89
query20	0.02	0.01	0.02
query21	15.44	0.26	0.15
query22	5.23	0.05	0.05
query23	16.01	0.29	0.10
query24	1.25	0.24	0.28
query25	0.07	0.05	0.06
query26	0.15	0.14	0.14
query27	0.07	0.05	0.05
query28	3.41	1.08	0.88
query29	12.53	3.91	3.12
query30	0.27	0.14	0.13
query31	2.83	0.62	0.39
query32	3.23	0.54	0.45
query33	3.04	2.94	3.01
query34	16.10	5.05	4.47
query35	4.44	4.41	4.50
query36	0.65	0.51	0.49
query37	0.10	0.06	0.06
query38	0.07	0.04	0.04
query39	0.04	0.04	0.04
query40	0.17	0.15	0.13
query41	0.09	0.04	0.03
query42	0.04	0.03	0.02
query43	0.04	0.04	0.03
Total cold run time: 96.2 s
Total hot run time: 26.68 s

@hello-stephen
Copy link
Contributor

BE UT Coverage Report

Increment line coverage 0.00% (0/9) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 52.97% (18979/35832)
Line Coverage 39.00% (175803/450739)
Region Coverage 33.63% (136330/405331)
Branch Coverage 34.66% (58918/170006)

Copy link
Member

@mrhhsg mrhhsg left a comment

Choose a reason for hiding this comment

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

lgtm

@github-actions github-actions bot added the approved Indicates a PR has been approved by one committer. label Jan 16, 2026
@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.

@yiguolei
Copy link
Contributor

skip check_coverage

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.x reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants