Skip to content

Conversation

zclllyybb
Copy link
Contributor

@zclllyybb zclllyybb commented Jul 14, 2024

Proposed changes

Issue Number: close #xxx

make dayofyear, dayofweek, weekofyear result of FE folding constant result same with MySQL. mainly about date in BC01 (year 0000)

before:

mysql> select DAYOFWEEK('0000-01-01'),DAYOFWEEK('0000-01-02'),DAYOFWEEK('0000-01-03'),DAYOFWEEK('0000-01-04'),DAYOFWEEK('0000-01-05'),DAYOFWEEK('0000-01-06'),DAYOFWEEK('0000-01-07'),DAYOFWEEK('0000-01-08');
+------+------+------+------+------+------+------+------+
| 7    | 1    | 2    | 3    | 4    | 5    | 6    | 7    |
+------+------+------+------+------+------+------+------+
|    7 |    1 |    2 |    3 |    4 |    5 |    6 |    7 |
+------+------+------+------+------+------+------+------+

mysql> select DAYOFYEAR('0000-02-27'),DAYOFYEAR('0000-02-28'),DAYOFYEAR('0000-03-01'),DAYOFYEAR('0000-03-02');
+------+------+------+------+
| 58   | 59   | 61   | 62   |
+------+------+------+------+
|   58 |   59 |   61 |   62 |
+------+------+------+------+

mysql> select WEEKOFYEAR('0000-01-01'),WEEKOFYEAR('0000-01-02'),WEEKOFYEAR('0000-01-03'),WEEKOFYEAR('0000-01-04'),WEEKOFYEAR('0000-01-05'),WEEKOFYEAR('0000-01-06'),WEEKOFYEAR('0000-01-07'),WEEKOFYEAR('0000-01-08');
+------+------+------+------+------+------+------+------+
| 52   | 52   | 1    | 1    | 1    | 1    | 1    | 1    |
+------+------+------+------+------+------+------+------+
|   52 |   52 |    1 |    1 |    1 |    1 |    1 |    1 |
+------+------+------+------+------+------+------+------+

mysql> select WEEKOFYEAR('0000-02-25'),WEEKOFYEAR('0000-02-26'),WEEKOFYEAR('0000-02-27'),WEEKOFYEAR('0000-02-28'),WEEKOFYEAR('0000-03-01'),WEEKOFYEAR('0000-03-02'),WEEKOFYEAR('2022-03-03');
+------+------+------+------+------+------+------+
| 8    | 8    | 8    | 9    | 9    | 9    | 9    |
+------+------+------+------+------+------+------+
|    8 |    8 |    8 |    9 |    9 |    9 |    9 |
+------+------+------+------+------+------+------+

after:

mysql> select DAYOFWEEK('0000-01-01'),DAYOFWEEK('0000-01-02'),DAYOFWEEK('0000-01-03'),DAYOFWEEK('0000-01-04'),DAYOFWEEK('0000-01-05'),DAYOFWEEK('0000-01-06'),DAYOFWEEK('0000-01-07'),DAYOFWEEK('0000-01-08');
+------+------+------+------+------+------+------+------+
| 1    | 2    | 3    | 4    | 5    | 6    | 7    | 1    |
+------+------+------+------+------+------+------+------+
|    1 |    2 |    3 |    4 |    5 |    6 |    7 |    1 |
+------+------+------+------+------+------+------+------+

mysql> select DAYOFYEAR('0000-02-27'),DAYOFYEAR('0000-02-28'),DAYOFYEAR('0000-03-01'),DAYOFYEAR('0000-03-02');
+------+------+------+------+
| 58   | 59   | 60   | 61   |
+------+------+------+------+
|   58 |   59 |   60 |   61 |
+------+------+------+------+

mysql> select WEEKOFYEAR('0000-01-01'),WEEKOFYEAR('0000-01-02'),WEEKOFYEAR('0000-01-03'),WEEKOFYEAR('0000-01-04'),WEEKOFYEAR('0000-01-05'),WEEKOFYEAR('0000-01-06'),WEEKOFYEAR('0000-01-07'),WEEKOFYEAR('0000-01-08');
+------+------+------+------+------+------+------+------+
| 52   | 1    | 1    | 1    | 1    | 1    | 1    | 1    |
+------+------+------+------+------+------+------+------+
|   52 |    1 |    1 |    1 |    1 |    1 |    1 |    1 |
+------+------+------+------+------+------+------+------+

mysql> select WEEKOFYEAR('0000-02-25'),WEEKOFYEAR('0000-02-26'),WEEKOFYEAR('0000-02-27'),WEEKOFYEAR('0000-02-28'),WEEKOFYEAR('0000-03-01'),WEEKOFYEAR('0000-03-02'),WEEKOFYEAR('2022-03-03');
+------+------+------+------+------+------+------+
| 8    | 8    | 9    | 9    | 9    | 9    | 9    |
+------+------+------+------+------+------+------+
|    8 |    8 |    9 |    9 |    9 |    9 |    9 |
+------+------+------+------+------+------+------+

@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.

@zclllyybb
Copy link
Contributor Author

run buildall

@zclllyybb
Copy link
Contributor Author

run buildall

@zclllyybb
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	18935	4543	4426	4426
q2	2505	200	195	195
q3	11133	1202	1085	1085
q4	10879	884	892	884
q5	7606	2737	2706	2706
q6	224	153	141	141
q7	982	593	604	593
q8	9216	2072	2108	2072
q9	8840	6564	6580	6564
q10	8714	3780	3728	3728
q11	457	234	249	234
q12	402	230	224	224
q13	18860	2969	2966	2966
q14	273	237	233	233
q15	551	487	496	487
q16	486	404	381	381
q17	975	684	765	684
q18	8107	7524	7430	7430
q19	7761	1383	1375	1375
q20	773	310	335	310
q21	4895	3188	3165	3165
q22	345	300	293	293
Total cold run time: 122919 ms
Total hot run time: 40176 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4386	4281	4263	4263
q2	385	262	265	262
q3	3052	2785	2765	2765
q4	1858	1642	1670	1642
q5	5314	5315	5333	5315
q6	218	130	133	130
q7	2106	1739	1700	1700
q8	3187	3339	3337	3337
q9	8386	8394	8429	8394
q10	3890	3745	3752	3745
q11	609	499	489	489
q12	780	578	626	578
q13	16204	2993	2992	2992
q14	305	294	275	275
q15	507	486	479	479
q16	473	410	423	410
q17	1782	1485	1468	1468
q18	7544	7546	7428	7428
q19	1651	1558	1598	1558
q20	1977	1791	1801	1791
q21	4899	4795	4786	4786
q22	579	512	498	498
Total cold run time: 70092 ms
Total hot run time: 54305 ms

@doris-robot
Copy link

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

query1	925	382	368	368
query2	6465	1959	1814	1814
query3	6679	212	219	212
query4	28395	17520	17159	17159
query5	4163	481	490	481
query6	268	189	186	186
query7	4601	285	292	285
query8	248	195	202	195
query9	8734	2406	2363	2363
query10	420	272	282	272
query11	11188	10135	10068	10068
query12	125	82	89	82
query13	1626	364	357	357
query14	10197	7755	7655	7655
query15	210	164	168	164
query16	7663	306	313	306
query17	1811	555	535	535
query18	1422	267	269	267
query19	205	149	151	149
query20	91	80	83	80
query21	209	133	122	122
query22	4379	4250	4139	4139
query23	33539	32978	33138	32978
query24	11907	2806	2883	2806
query25	632	388	365	365
query26	1729	145	144	144
query27	2811	263	274	263
query28	7161	1978	1992	1978
query29	1001	619	610	610
query30	284	150	148	148
query31	965	745	753	745
query32	97	52	54	52
query33	769	297	298	297
query34	930	477	487	477
query35	665	580	597	580
query36	1112	957	990	957
query37	141	77	83	77
query38	2852	2792	2776	2776
query39	860	799	835	799
query40	279	126	157	126
query41	48	44	44	44
query42	128	96	100	96
query43	505	468	472	468
query44	1252	736	725	725
query45	190	163	159	159
query46	1089	747	736	736
query47	1879	1778	1769	1769
query48	370	301	280	280
query49	1176	409	406	406
query50	785	388	389	388
query51	6904	6892	6771	6771
query52	109	89	97	89
query53	358	289	291	289
query54	1005	445	442	442
query55	75	76	74	74
query56	285	266	271	266
query57	1155	1053	1044	1044
query58	255	245	248	245
query59	2792	2610	2588	2588
query60	301	313	281	281
query61	97	92	94	92
query62	813	662	658	658
query63	317	287	280	280
query64	10444	2218	7414	2218
query65	3152	3113	3110	3110
query66	1288	342	329	329
query67	15567	14960	14920	14920
query68	4519	543	531	531
query69	474	334	316	316
query70	1148	1138	1154	1138
query71	401	271	279	271
query72	7139	5606	5424	5424
query73	725	328	326	326
query74	6127	5657	5653	5653
query75	3473	2676	2716	2676
query76	2804	959	949	949
query77	473	303	310	303
query78	9695	9016	8956	8956
query79	2475	522	520	520
query80	2128	481	463	463
query81	597	216	220	216
query82	907	131	140	131
query83	292	170	180	170
query84	260	89	90	89
query85	2168	377	296	296
query86	491	318	308	308
query87	3314	3084	3126	3084
query88	4085	2360	2387	2360
query89	489	401	379	379
query90	1854	194	191	191
query91	132	99	97	97
query92	66	50	54	50
query93	2980	503	497	497
query94	1274	211	211	211
query95	407	311	314	311
query96	591	271	268	268
query97	3204	3028	3056	3028
query98	204	201	198	198
query99	1675	1296	1236	1236
Total cold run time: 286668 ms
Total hot run time: 172850 ms

@doris-robot
Copy link

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

query1	0.04	0.03	0.04
query2	0.07	0.04	0.04
query3	0.23	0.06	0.06
query4	1.67	0.07	0.07
query5	0.50	0.49	0.49
query6	1.15	0.72	0.73
query7	0.02	0.01	0.01
query8	0.05	0.04	0.04
query9	0.55	0.50	0.49
query10	0.56	0.55	0.54
query11	0.15	0.12	0.11
query12	0.14	0.12	0.12
query13	0.59	0.59	0.59
query14	0.76	0.79	0.81
query15	0.84	0.81	0.81
query16	0.37	0.37	0.36
query17	1.02	0.96	0.97
query18	0.23	0.22	0.22
query19	1.75	1.72	1.65
query20	0.01	0.01	0.01
query21	15.40	0.79	0.67
query22	3.82	7.50	2.25
query23	18.30	1.37	1.30
query24	2.16	0.24	0.22
query25	0.15	0.08	0.08
query26	0.30	0.21	0.21
query27	0.46	0.22	0.24
query28	13.23	1.00	1.01
query29	12.62	3.33	3.32
query30	0.25	0.06	0.06
query31	2.88	0.38	0.39
query32	3.28	0.47	0.47
query33	2.89	2.90	2.94
query34	17.03	4.35	4.34
query35	4.41	4.46	4.40
query36	0.64	0.49	0.48
query37	0.18	0.15	0.16
query38	0.16	0.15	0.15
query39	0.05	0.04	0.04
query40	0.15	0.12	0.12
query41	0.09	0.05	0.04
query42	0.06	0.05	0.05
query43	0.05	0.04	0.04
Total cold run time: 109.26 s
Total hot run time: 31 s

@zclllyybb zclllyybb marked this pull request as ready for review July 17, 2024 02:30
morrySnow
morrySnow previously approved these changes Jul 17, 2024
@github-actions github-actions bot added the approved Indicates a PR has been approved by one committer. label Jul 17, 2024
Copy link
Contributor

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

Copy link
Contributor

PR approved by anyone and no changes requested.

@github-actions github-actions bot removed the approved Indicates a PR has been approved by one committer. label Jul 17, 2024
@zclllyybb
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17617	4310	4345	4310
q2	2014	192	182	182
q3	10447	1200	1059	1059
q4	10188	739	801	739
q5	7555	2660	2701	2660
q6	217	139	142	139
q7	941	596	606	596
q8	9233	2055	2043	2043
q9	8662	6520	6518	6518
q10	8877	3753	3847	3753
q11	454	232	225	225
q12	438	224	220	220
q13	18033	2966	2942	2942
q14	273	231	237	231
q15	522	476	486	476
q16	541	378	376	376
q17	958	628	719	628
q18	8102	7527	7375	7375
q19	6559	1444	1432	1432
q20	664	318	336	318
q21	4892	3048	3157	3048
q22	340	282	276	276
Total cold run time: 117527 ms
Total hot run time: 39546 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4382	4252	4257	4252
q2	376	262	256	256
q3	2969	2851	2914	2851
q4	1972	1720	1611	1611
q5	5682	5472	5509	5472
q6	221	135	135	135
q7	2157	1808	1838	1808
q8	3237	3389	3379	3379
q9	8751	8713	8855	8713
q10	4101	3932	3772	3772
q11	574	484	496	484
q12	798	678	634	634
q13	17107	3145	3175	3145
q14	326	291	296	291
q15	534	502	483	483
q16	489	440	458	440
q17	1812	1547	1496	1496
q18	8089	7913	7698	7698
q19	1786	1505	1677	1505
q20	2190	1851	1885	1851
q21	5140	4815	4752	4752
q22	598	510	524	510
Total cold run time: 73291 ms
Total hot run time: 55538 ms

@doris-robot
Copy link

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

query1	922	378	362	362
query2	6448	1907	1823	1823
query3	6635	216	221	216
query4	22195	17489	17451	17451
query5	3653	464	467	464
query6	285	158	157	157
query7	4577	288	286	286
query8	223	188	202	188
query9	8481	2351	2328	2328
query10	435	286	260	260
query11	12655	10077	10087	10077
query12	111	90	79	79
query13	1636	359	353	353
query14	9993	7713	7569	7569
query15	220	164	166	164
query16	7674	328	298	298
query17	1794	557	515	515
query18	1838	278	274	274
query19	198	153	153	153
query20	87	81	81	81
query21	203	123	125	123
query22	4270	4250	4086	4086
query23	33799	33632	33377	33377
query24	11054	2900	2817	2817
query25	630	376	414	376
query26	1091	142	149	142
query27	2275	278	268	268
query28	6676	2037	2023	2023
query29	901	615	650	615
query30	252	151	149	149
query31	959	758	736	736
query32	95	53	55	53
query33	760	295	290	290
query34	1085	496	505	496
query35	699	562	577	562
query36	1117	982	983	982
query37	157	87	89	87
query38	3003	2871	2898	2871
query39	889	869	835	835
query40	226	126	128	126
query41	50	46	48	46
query42	109	98	109	98
query43	509	465	450	450
query44	1231	717	718	717
query45	193	161	167	161
query46	1097	719	719	719
query47	1888	1798	1777	1777
query48	370	293	283	283
query49	853	418	452	418
query50	775	380	384	380
query51	6892	6839	6810	6810
query52	105	91	94	91
query53	359	287	289	287
query54	882	435	440	435
query55	73	73	72	72
query56	277	262	269	262
query57	1156	1059	1072	1059
query58	253	245	247	245
query59	2812	2804	2670	2670
query60	298	277	269	269
query61	97	96	93	93
query62	804	648	649	648
query63	315	280	283	280
query64	9432	2231	1658	1658
query65	3152	3113	3121	3113
query66	726	328	323	323
query67	15550	14892	14875	14875
query68	4536	531	537	531
query69	577	452	343	343
query70	1150	1147	1053	1053
query71	411	271	278	271
query72	8297	5479	5910	5479
query73	734	324	320	320
query74	6152	5708	5677	5677
query75	4105	2684	2683	2683
query76	2791	965	939	939
query77	694	300	299	299
query78	9678	9330	8999	8999
query79	2827	523	523	523
query80	1429	459	478	459
query81	591	218	277	218
query82	833	135	135	135
query83	350	164	166	164
query84	278	83	87	83
query85	1989	314	298	298
query86	479	313	303	303
query87	3289	3124	3057	3057
query88	4464	2361	2345	2345
query89	483	376	371	371
query90	1791	188	187	187
query91	126	99	97	97
query92	57	47	51	47
query93	4638	496	496	496
query94	1165	217	208	208
query95	401	310	310	310
query96	611	283	263	263
query97	3244	3015	3010	3010
query98	222	199	195	195
query99	1558	1239	1252	1239
Total cold run time: 280409 ms
Total hot run time: 172953 ms

@doris-robot
Copy link

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

query1	0.04	0.03	0.03
query2	0.08	0.04	0.04
query3	0.22	0.05	0.05
query4	1.68	0.07	0.08
query5	0.48	0.48	0.49
query6	1.13	0.72	0.72
query7	0.02	0.01	0.02
query8	0.05	0.04	0.04
query9	0.54	0.49	0.50
query10	0.54	0.55	0.54
query11	0.16	0.11	0.12
query12	0.15	0.12	0.13
query13	0.59	0.59	0.58
query14	0.74	0.80	0.77
query15	0.85	0.84	0.81
query16	0.36	0.38	0.38
query17	0.99	1.00	0.97
query18	0.23	0.21	0.21
query19	1.80	1.74	1.65
query20	0.01	0.01	0.01
query21	15.41	0.74	0.66
query22	4.75	7.47	1.82
query23	18.23	1.35	1.35
query24	2.11	0.23	0.22
query25	0.15	0.08	0.07
query26	0.31	0.21	0.21
query27	0.45	0.23	0.23
query28	13.31	1.02	1.01
query29	12.58	3.31	3.28
query30	0.25	0.06	0.06
query31	2.87	0.39	0.39
query32	3.27	0.48	0.46
query33	2.93	2.90	2.82
query34	17.02	4.32	4.36
query35	4.42	4.38	4.39
query36	0.64	0.48	0.50
query37	0.19	0.15	0.15
query38	0.16	0.15	0.14
query39	0.04	0.03	0.03
query40	0.15	0.12	0.13
query41	0.09	0.06	0.06
query42	0.06	0.05	0.04
query43	0.05	0.03	0.03
Total cold run time: 110.1 s
Total hot run time: 30.41 s

@zclllyybb
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17960	4455	4351	4351
q2	2614	188	186	186
q3	11007	1190	1092	1092
q4	11289	804	757	757
q5	7961	2752	2689	2689
q6	223	143	141	141
q7	978	610	618	610
q8	9549	2080	2069	2069
q9	8851	6581	6555	6555
q10	8832	3752	3739	3739
q11	445	231	243	231
q12	395	234	228	228
q13	17971	2958	2997	2958
q14	273	224	242	224
q15	526	502	484	484
q16	479	398	382	382
q17	961	649	646	646
q18	8083	7432	7340	7340
q19	7885	1371	1312	1312
q20	697	321	324	321
q21	4842	3222	3193	3193
q22	347	289	285	285
Total cold run time: 122168 ms
Total hot run time: 39793 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4419	4282	4277	4277
q2	374	269	276	269
q3	3006	2745	2716	2716
q4	1896	1648	1597	1597
q5	5258	5292	5312	5292
q6	218	134	133	133
q7	2102	1729	1673	1673
q8	3196	3359	3323	3323
q9	8380	8431	8390	8390
q10	3880	3681	3739	3681
q11	570	476	493	476
q12	754	585	608	585
q13	16296	2965	3004	2965
q14	292	268	284	268
q15	507	465	467	465
q16	485	421	435	421
q17	1773	1463	1474	1463
q18	7584	7328	7482	7328
q19	1640	1584	1601	1584
q20	1977	1768	1764	1764
q21	4796	4628	4581	4581
q22	571	498	481	481
Total cold run time: 69974 ms
Total hot run time: 53732 ms

@doris-robot
Copy link

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

query1	909	362	364	362
query2	6453	1938	1808	1808
query3	6678	208	218	208
query4	28351	17512	17402	17402
query5	4171	469	464	464
query6	270	169	161	161
query7	4601	285	282	282
query8	247	190	193	190
query9	8388	2380	2353	2353
query10	444	286	266	266
query11	11696	10069	10115	10069
query12	130	87	81	81
query13	1645	368	370	368
query14	10660	7777	7712	7712
query15	225	170	172	170
query16	7675	343	327	327
query17	1669	563	545	545
query18	1711	285	277	277
query19	202	162	155	155
query20	91	82	86	82
query21	207	132	124	124
query22	4434	4183	4031	4031
query23	33949	33001	33386	33001
query24	12150	2970	2896	2896
query25	647	365	370	365
query26	1809	143	145	143
query27	2978	267	271	267
query28	7485	1967	1972	1967
query29	1080	598	607	598
query30	286	147	150	147
query31	982	736	735	735
query32	88	51	52	51
query33	768	301	279	279
query34	959	486	489	486
query35	680	560	562	560
query36	1109	935	895	895
query37	273	77	82	77
query38	2881	2719	2733	2719
query39	876	823	802	802
query40	269	121	115	115
query41	48	45	45	45
query42	120	95	99	95
query43	501	452	470	452
query44	1197	720	718	718
query45	207	157	161	157
query46	1073	737	705	705
query47	1847	1762	1814	1762
query48	364	286	292	286
query49	1187	407	406	406
query50	773	390	389	389
query51	6834	6716	6677	6677
query52	102	89	92	89
query53	359	286	289	286
query54	983	448	444	444
query55	77	72	73	72
query56	281	291	280	280
query57	1126	1050	1014	1014
query58	251	254	240	240
query59	2951	2691	2521	2521
query60	288	285	277	277
query61	99	117	92	92
query62	849	657	647	647
query63	324	283	285	283
query64	10536	2159	1681	1681
query65	3149	3093	3105	3093
query66	1342	344	325	325
query67	15325	15138	14982	14982
query68	4561	533	527	527
query69	511	336	315	315
query70	1182	1097	1134	1097
query71	407	272	283	272
query72	7107	5645	5441	5441
query73	756	325	324	324
query74	6096	5723	5692	5692
query75	3410	2705	2649	2649
query76	2825	897	877	877
query77	443	304	303	303
query78	11184	9173	8944	8944
query79	7831	520	524	520
query80	964	472	470	470
query81	565	220	218	218
query82	515	140	131	131
query83	214	164	166	164
query84	284	86	89	86
query85	792	303	295	295
query86	385	322	312	312
query87	3274	3118	3103	3103
query88	4673	2352	2395	2352
query89	488	366	379	366
query90	2019	189	193	189
query91	126	101	99	99
query92	63	51	49	49
query93	5550	495	496	495
query94	1147	211	210	210
query95	406	304	308	304
query96	611	270	269	269
query97	3210	3015	3026	3015
query98	210	199	197	197
query99	1740	1303	1270	1270
Total cold run time: 295868 ms
Total hot run time: 172113 ms

@doris-robot
Copy link

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

query1	0.04	0.04	0.04
query2	0.08	0.04	0.04
query3	0.22	0.05	0.05
query4	1.69	0.07	0.07
query5	0.50	0.49	0.49
query6	1.14	0.73	0.72
query7	0.02	0.01	0.01
query8	0.05	0.04	0.04
query9	0.55	0.49	0.49
query10	0.54	0.53	0.54
query11	0.16	0.11	0.11
query12	0.15	0.11	0.12
query13	0.59	0.60	0.58
query14	0.76	0.79	0.81
query15	0.84	0.80	0.80
query16	0.36	0.35	0.35
query17	1.01	1.01	0.94
query18	0.22	0.21	0.21
query19	1.77	1.68	1.68
query20	0.01	0.01	0.01
query21	15.39	0.78	0.65
query22	3.84	6.94	1.87
query23	18.28	1.36	1.31
query24	2.09	0.22	0.22
query25	0.15	0.09	0.09
query26	0.29	0.21	0.21
query27	0.45	0.23	0.23
query28	13.30	1.02	1.00
query29	12.58	3.34	3.31
query30	0.25	0.06	0.05
query31	2.88	0.38	0.39
query32	3.27	0.47	0.47
query33	2.87	2.90	2.90
query34	17.09	4.36	4.47
query35	4.50	4.38	4.46
query36	0.65	0.45	0.50
query37	0.19	0.15	0.15
query38	0.16	0.15	0.15
query39	0.05	0.04	0.03
query40	0.15	0.13	0.12
query41	0.09	0.04	0.05
query42	0.06	0.04	0.05
query43	0.04	0.04	0.03
Total cold run time: 109.32 s
Total hot run time: 30.5 s

Copy link
Contributor

@HappenLee HappenLee left a comment

Choose a reason for hiding this comment

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

Add pr comment Please !!

Copy link
Contributor

@HappenLee HappenLee 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 Jul 19, 2024
Copy link
Contributor

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

@HappenLee HappenLee merged commit a31aae7 into apache:master Jul 19, 2024
dataroaring pushed a commit that referenced this pull request Jul 22, 2024
…37766)

make `dayofyear`, `dayofweek`, `weekofyear` result of FE folding
constant result same with MySQL. mainly about date in BC01 (year `0000`)

before:
```sql
mysql> select DAYOFWEEK('0000-01-01'),DAYOFWEEK('0000-01-02'),DAYOFWEEK('0000-01-03'),DAYOFWEEK('0000-01-04'),DAYOFWEEK('0000-01-05'),DAYOFWEEK('0000-01-06'),DAYOFWEEK('0000-01-07'),DAYOFWEEK('0000-01-08');
+------+------+------+------+------+------+------+------+
| 7    | 1    | 2    | 3    | 4    | 5    | 6    | 7    |
+------+------+------+------+------+------+------+------+
|    7 |    1 |    2 |    3 |    4 |    5 |    6 |    7 |
+------+------+------+------+------+------+------+------+

mysql> select DAYOFYEAR('0000-02-27'),DAYOFYEAR('0000-02-28'),DAYOFYEAR('0000-03-01'),DAYOFYEAR('0000-03-02');
+------+------+------+------+
| 58   | 59   | 61   | 62   |
+------+------+------+------+
|   58 |   59 |   61 |   62 |
+------+------+------+------+

mysql> select WEEKOFYEAR('0000-01-01'),WEEKOFYEAR('0000-01-02'),WEEKOFYEAR('0000-01-03'),WEEKOFYEAR('0000-01-04'),WEEKOFYEAR('0000-01-05'),WEEKOFYEAR('0000-01-06'),WEEKOFYEAR('0000-01-07'),WEEKOFYEAR('0000-01-08');
+------+------+------+------+------+------+------+------+
| 52   | 52   | 1    | 1    | 1    | 1    | 1    | 1    |
+------+------+------+------+------+------+------+------+
|   52 |   52 |    1 |    1 |    1 |    1 |    1 |    1 |
+------+------+------+------+------+------+------+------+

mysql> select WEEKOFYEAR('0000-02-25'),WEEKOFYEAR('0000-02-26'),WEEKOFYEAR('0000-02-27'),WEEKOFYEAR('0000-02-28'),WEEKOFYEAR('0000-03-01'),WEEKOFYEAR('0000-03-02'),WEEKOFYEAR('2022-03-03');
+------+------+------+------+------+------+------+
| 8    | 8    | 8    | 9    | 9    | 9    | 9    |
+------+------+------+------+------+------+------+
|    8 |    8 |    8 |    9 |    9 |    9 |    9 |
+------+------+------+------+------+------+------+
```

after:
```sql
mysql> select DAYOFWEEK('0000-01-01'),DAYOFWEEK('0000-01-02'),DAYOFWEEK('0000-01-03'),DAYOFWEEK('0000-01-04'),DAYOFWEEK('0000-01-05'),DAYOFWEEK('0000-01-06'),DAYOFWEEK('0000-01-07'),DAYOFWEEK('0000-01-08');
+------+------+------+------+------+------+------+------+
| 1    | 2    | 3    | 4    | 5    | 6    | 7    | 1    |
+------+------+------+------+------+------+------+------+
|    1 |    2 |    3 |    4 |    5 |    6 |    7 |    1 |
+------+------+------+------+------+------+------+------+

mysql> select DAYOFYEAR('0000-02-27'),DAYOFYEAR('0000-02-28'),DAYOFYEAR('0000-03-01'),DAYOFYEAR('0000-03-02');
+------+------+------+------+
| 58   | 59   | 60   | 61   |
+------+------+------+------+
|   58 |   59 |   60 |   61 |
+------+------+------+------+

mysql> select WEEKOFYEAR('0000-01-01'),WEEKOFYEAR('0000-01-02'),WEEKOFYEAR('0000-01-03'),WEEKOFYEAR('0000-01-04'),WEEKOFYEAR('0000-01-05'),WEEKOFYEAR('0000-01-06'),WEEKOFYEAR('0000-01-07'),WEEKOFYEAR('0000-01-08');
+------+------+------+------+------+------+------+------+
| 52   | 1    | 1    | 1    | 1    | 1    | 1    | 1    |
+------+------+------+------+------+------+------+------+
|   52 |    1 |    1 |    1 |    1 |    1 |    1 |    1 |
+------+------+------+------+------+------+------+------+

mysql> select WEEKOFYEAR('0000-02-25'),WEEKOFYEAR('0000-02-26'),WEEKOFYEAR('0000-02-27'),WEEKOFYEAR('0000-02-28'),WEEKOFYEAR('0000-03-01'),WEEKOFYEAR('0000-03-02'),WEEKOFYEAR('2022-03-03');
+------+------+------+------+------+------+------+
| 8    | 8    | 9    | 9    | 9    | 9    | 9    |
+------+------+------+------+------+------+------+
|    8 |    8 |    9 |    9 |    9 |    9 |    9 |
+------+------+------+------+------+------+------+
```
@gavinchou gavinchou mentioned this pull request Aug 19, 2024
@zclllyybb zclllyybb deleted the fix_0000_year branch February 7, 2025 15:31
zclllyybb added a commit to zclllyybb/doris that referenced this pull request Feb 7, 2025
…pache#37766)

make `dayofyear`, `dayofweek`, `weekofyear` result of FE folding
constant result same with MySQL. mainly about date in BC01 (year `0000`)

before:
```sql
mysql> select DAYOFWEEK('0000-01-01'),DAYOFWEEK('0000-01-02'),DAYOFWEEK('0000-01-03'),DAYOFWEEK('0000-01-04'),DAYOFWEEK('0000-01-05'),DAYOFWEEK('0000-01-06'),DAYOFWEEK('0000-01-07'),DAYOFWEEK('0000-01-08');
+------+------+------+------+------+------+------+------+
| 7    | 1    | 2    | 3    | 4    | 5    | 6    | 7    |
+------+------+------+------+------+------+------+------+
|    7 |    1 |    2 |    3 |    4 |    5 |    6 |    7 |
+------+------+------+------+------+------+------+------+

mysql> select DAYOFYEAR('0000-02-27'),DAYOFYEAR('0000-02-28'),DAYOFYEAR('0000-03-01'),DAYOFYEAR('0000-03-02');
+------+------+------+------+
| 58   | 59   | 61   | 62   |
+------+------+------+------+
|   58 |   59 |   61 |   62 |
+------+------+------+------+

mysql> select WEEKOFYEAR('0000-01-01'),WEEKOFYEAR('0000-01-02'),WEEKOFYEAR('0000-01-03'),WEEKOFYEAR('0000-01-04'),WEEKOFYEAR('0000-01-05'),WEEKOFYEAR('0000-01-06'),WEEKOFYEAR('0000-01-07'),WEEKOFYEAR('0000-01-08');
+------+------+------+------+------+------+------+------+
| 52   | 52   | 1    | 1    | 1    | 1    | 1    | 1    |
+------+------+------+------+------+------+------+------+
|   52 |   52 |    1 |    1 |    1 |    1 |    1 |    1 |
+------+------+------+------+------+------+------+------+

mysql> select WEEKOFYEAR('0000-02-25'),WEEKOFYEAR('0000-02-26'),WEEKOFYEAR('0000-02-27'),WEEKOFYEAR('0000-02-28'),WEEKOFYEAR('0000-03-01'),WEEKOFYEAR('0000-03-02'),WEEKOFYEAR('2022-03-03');
+------+------+------+------+------+------+------+
| 8    | 8    | 8    | 9    | 9    | 9    | 9    |
+------+------+------+------+------+------+------+
|    8 |    8 |    8 |    9 |    9 |    9 |    9 |
+------+------+------+------+------+------+------+
```

after:
```sql
mysql> select DAYOFWEEK('0000-01-01'),DAYOFWEEK('0000-01-02'),DAYOFWEEK('0000-01-03'),DAYOFWEEK('0000-01-04'),DAYOFWEEK('0000-01-05'),DAYOFWEEK('0000-01-06'),DAYOFWEEK('0000-01-07'),DAYOFWEEK('0000-01-08');
+------+------+------+------+------+------+------+------+
| 1    | 2    | 3    | 4    | 5    | 6    | 7    | 1    |
+------+------+------+------+------+------+------+------+
|    1 |    2 |    3 |    4 |    5 |    6 |    7 |    1 |
+------+------+------+------+------+------+------+------+

mysql> select DAYOFYEAR('0000-02-27'),DAYOFYEAR('0000-02-28'),DAYOFYEAR('0000-03-01'),DAYOFYEAR('0000-03-02');
+------+------+------+------+
| 58   | 59   | 60   | 61   |
+------+------+------+------+
|   58 |   59 |   60 |   61 |
+------+------+------+------+

mysql> select WEEKOFYEAR('0000-01-01'),WEEKOFYEAR('0000-01-02'),WEEKOFYEAR('0000-01-03'),WEEKOFYEAR('0000-01-04'),WEEKOFYEAR('0000-01-05'),WEEKOFYEAR('0000-01-06'),WEEKOFYEAR('0000-01-07'),WEEKOFYEAR('0000-01-08');
+------+------+------+------+------+------+------+------+
| 52   | 1    | 1    | 1    | 1    | 1    | 1    | 1    |
+------+------+------+------+------+------+------+------+
|   52 |    1 |    1 |    1 |    1 |    1 |    1 |    1 |
+------+------+------+------+------+------+------+------+

mysql> select WEEKOFYEAR('0000-02-25'),WEEKOFYEAR('0000-02-26'),WEEKOFYEAR('0000-02-27'),WEEKOFYEAR('0000-02-28'),WEEKOFYEAR('0000-03-01'),WEEKOFYEAR('0000-03-02'),WEEKOFYEAR('2022-03-03');
+------+------+------+------+------+------+------+
| 8    | 8    | 9    | 9    | 9    | 9    | 9    |
+------+------+------+------+------+------+------+
|    8 |    8 |    9 |    9 |    9 |    9 |    9 |
+------+------+------+------+------+------+------+
```
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.9-merged dev/3.0.1-merged reviewed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants