Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[opt](Nereids) support search from override udfs with same arity #40432

Merged
merged 1 commit into from
Sep 5, 2024

Conversation

morrySnow
Copy link
Contributor

@morrySnow morrySnow commented Sep 5, 2024

create alias function f1(int) with parameter(id) as abs(id);
create alias function f1(string) with parameter(id) as substr(id, 2);
select f1('1'); -- bind on f1(string)
select f1(1);   -- bind on f1(int)

test case already existed in P0

```sql
create alias function f1(int) with parameter(id) as abs(id);
create alias function f1(string) with parameter(id) as substr(id, 2);
select f1('1'); -- bind on f1(string)
select f1(1);   -- bind on f1(int)
```
@doris-robot
Copy link

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

Since 2024-03-18, the Document has been moved to doris-website.
See Doris Document.

@morrySnow morrySnow changed the title [opt](Nereids) support override udf with same arity [opt](Nereids) support search from override udfs with same arity Sep 5, 2024
@morrySnow
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17612	4495	4308	4308
q2	2017	210	187	187
q3	10425	1233	1102	1102
q4	10148	718	707	707
q5	7743	2962	3075	2962
q6	231	138	138	138
q7	955	613	612	612
q8	9531	2095	2094	2094
q9	8830	6543	6548	6543
q10	7102	2176	2286	2176
q11	449	243	249	243
q12	586	230	223	223
q13	18522	3104	3078	3078
q14	293	237	247	237
q15	543	493	490	490
q16	614	509	513	509
q17	1000	770	723	723
q18	7429	7004	6871	6871
q19	1379	1008	1062	1008
q20	691	339	336	336
q21	4222	3078	3021	3021
q22	1125	1004	1026	1004
Total cold run time: 111447 ms
Total hot run time: 38572 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4355	4256	4289	4256
q2	375	289	274	274
q3	2938	2733	2719	2719
q4	1957	1668	1657	1657
q5	5418	5384	5403	5384
q6	220	132	133	132
q7	2100	1721	1736	1721
q8	3246	3399	3367	3367
q9	8503	8521	8474	8474
q10	3461	3195	3185	3185
q11	568	507	494	494
q12	794	625	624	624
q13	15547	3091	3079	3079
q14	303	270	285	270
q15	531	486	481	481
q16	594	574	582	574
q17	1788	1537	1490	1490
q18	7667	7467	7443	7443
q19	1680	1511	1546	1511
q20	2067	1814	1804	1804
q21	5626	5168	5189	5168
q22	1095	1034	1043	1034
Total cold run time: 70833 ms
Total hot run time: 55141 ms

@doris-robot
Copy link

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

query1	893	376	380	376
query2	4182	1932	1898	1898
query3	3587	202	215	202
query4	33463	23126	23034	23034
query5	2762	510	499	499
query6	255	177	175	175
query7	3906	308	296	296
query8	298	231	232	231
query9	7481	2512	2521	2512
query10	443	294	274	274
query11	17482	14957	14952	14952
query12	147	104	98	98
query13	1544	408	374	374
query14	9652	7723	6919	6919
query15	306	168	174	168
query16	7541	446	465	446
query17	1380	559	538	538
query18	1969	277	277	277
query19	257	144	140	140
query20	129	128	111	111
query21	204	104	102	102
query22	4429	4195	4078	4078
query23	33978	33354	33294	33294
query24	9307	2893	2871	2871
query25	602	381	385	381
query26	1079	156	162	156
query27	2461	278	281	278
query28	6024	2085	2044	2044
query29	749	406	417	406
query30	283	165	153	153
query31	1014	762	787	762
query32	91	53	60	53
query33	686	290	287	287
query34	895	485	500	485
query35	825	725	724	724
query36	1099	935	943	935
query37	170	93	86	86
query38	3986	3894	3910	3894
query39	1436	1405	1376	1376
query40	244	113	114	113
query41	49	48	48	48
query42	119	91	93	91
query43	475	479	492	479
query44	1188	762	742	742
query45	199	170	176	170
query46	1105	767	722	722
query47	1860	1781	1771	1771
query48	378	296	297	296
query49	932	456	443	443
query50	816	401	422	401
query51	7065	6863	6843	6843
query52	97	84	87	84
query53	258	185	183	183
query54	593	452	452	452
query55	75	72	76	72
query56	273	262	249	249
query57	1189	1091	1051	1051
query58	237	221	235	221
query59	3015	2933	2740	2740
query60	313	257	261	257
query61	105	98	103	98
query62	849	642	652	642
query63	225	190	183	183
query64	3962	673	650	650
query65	3191	3185	3147	3147
query66	1195	342	340	340
query67	15603	15250	15280	15250
query68	2870	601	591	591
query69	392	287	280	280
query70	1183	1051	1080	1051
query71	339	272	276	272
query72	6160	4179	4044	4044
query73	741	322	327	322
query74	9003	8682	8811	8682
query75	3398	2697	2627	2627
query76	2006	1040	941	941
query77	445	304	300	300
query78	9576	9068	9050	9050
query79	1038	548	528	528
query80	682	505	512	505
query81	469	236	240	236
query82	294	142	150	142
query83	173	154	151	151
query84	232	76	76	76
query85	673	295	275	275
query86	306	299	301	299
query87	4440	4293	4354	4293
query88	3272	2379	2371	2371
query89	376	281	277	277
query90	1767	191	196	191
query91	126	102	104	102
query92	57	52	51	51
query93	1044	547	540	540
query94	672	292	292	292
query95	331	250	251	250
query96	588	273	274	273
query97	3162	3085	3021	3021
query98	223	207	197	197
query99	1483	1257	1258	1257
Total cold run time: 270126 ms
Total hot run time: 187110 ms

@doris-robot
Copy link

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

query1	0.05	0.04	0.04
query2	0.08	0.04	0.03
query3	0.23	0.05	0.05
query4	1.69	0.09	0.07
query5	0.52	0.50	0.50
query6	1.13	0.73	0.73
query7	0.01	0.01	0.01
query8	0.05	0.04	0.05
query9	0.55	0.49	0.47
query10	0.54	0.56	0.54
query11	0.15	0.11	0.11
query12	0.14	0.12	0.13
query13	0.60	0.58	0.58
query14	2.04	2.07	2.08
query15	0.84	0.81	0.82
query16	0.37	0.36	0.35
query17	0.99	1.05	1.00
query18	0.22	0.21	0.21
query19	1.88	1.73	1.74
query20	0.01	0.02	0.01
query21	15.42	0.68	0.67
query22	4.03	6.39	2.75
query23	18.24	1.39	1.33
query24	2.14	0.25	0.20
query25	0.15	0.07	0.08
query26	0.27	0.18	0.19
query27	0.07	0.07	0.07
query28	13.19	1.03	1.00
query29	12.60	3.36	3.31
query30	0.25	0.05	0.05
query31	2.89	0.39	0.40
query32	3.26	0.48	0.49
query33	2.97	3.06	2.95
query34	16.98	4.48	4.40
query35	4.41	4.40	4.42
query36	0.65	0.46	0.49
query37	0.18	0.15	0.16
query38	0.16	0.15	0.15
query39	0.04	0.04	0.04
query40	0.16	0.13	0.13
query41	0.09	0.05	0.05
query42	0.07	0.05	0.05
query43	0.05	0.05	0.04
Total cold run time: 110.36 s
Total hot run time: 32.79 s

Copy link
Contributor

github-actions bot commented Sep 5, 2024

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

@github-actions github-actions bot added approved Indicates a PR has been approved by one committer. reviewed labels Sep 5, 2024
Copy link
Contributor

github-actions bot commented Sep 5, 2024

PR approved by anyone and no changes requested.

@morrySnow morrySnow merged commit 82c2650 into apache:master Sep 5, 2024
28 of 31 checks passed
@morrySnow morrySnow deleted the support_override_udf branch September 5, 2024 12:22
morrySnow added a commit to morrySnow/incubator-doris that referenced this pull request Sep 12, 2024
…che#40432)

pick from master apache#40432

create alias function f1(int) with parameter(id) as abs(id);
create alias function f1(string) with parameter(id) as substr(id, 2);
select f1('1'); -- bind on f1(string)
select f1(1);   -- bind on f1(int)

test case already existed in P0
morrySnow added a commit that referenced this pull request Sep 12, 2024
) (#40751)

pick from master #40432

create alias function f1(int) with parameter(id) as abs(id); create
alias function f1(string) with parameter(id) as substr(id, 2); select
f1('1'); -- bind on f1(string)
select f1(1);   -- bind on f1(int)

test case already existed in P0
dataroaring pushed a commit that referenced this pull request Oct 9, 2024
)

create alias function f1(int) with parameter(id) as abs(id);
create alias function f1(string) with parameter(id) as substr(id, 2);
select f1('1'); -- bind on f1(string)
select f1(1);   -- bind on f1(int)

test case already existed in P0
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/2.1.7-merged reviewed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants