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.

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