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

[func](jsonb)support json_depth function #24801

Open
wants to merge 14 commits into
base: master
Choose a base branch
from

Conversation

LemonLiTree
Copy link
Collaborator

Proposed changes

Issue Number: close #xxx

Further comments

If this is a relatively large or complex change, kick off the discussion at [email protected] by explaining why you chose the solution you did and what alternatives you considered, etc...

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

clang-tidy made some suggestions

be/src/util/jsonb_document.h Show resolved Hide resolved
be/src/util/jsonb_document.h Outdated Show resolved Hide resolved
be/src/util/jsonb_document.h Show resolved Hide resolved
be/src/util/jsonb_document.h Outdated Show resolved Hide resolved
be/src/util/jsonb_document.h Show resolved Hide resolved
be/src/vec/functions/function_jsonb.cpp Show resolved Hide resolved
be/src/vec/functions/function_jsonb.cpp Show resolved Hide resolved
be/src/vec/functions/function_jsonb.cpp Show resolved Hide resolved
be/src/vec/functions/function_jsonb.cpp Outdated Show resolved Hide resolved
be/src/vec/functions/function_jsonb.cpp Outdated Show resolved Hide resolved
@LemonLiTree
Copy link
Collaborator Author

run buildall

@doris-robot
Copy link

TeamCity be ut coverage result:
Function Coverage: 36.32% (8022/22086)
Line Coverage: 28.63% (64423/225057)
Region Coverage: 27.53% (33455/121534)
Branch Coverage: 24.19% (17120/70760)
Coverage Report: http://coverage.selectdb-in.cc/coverage/dd2887e3beadd6308d38c52b832db93edb468bb5_dd2887e3beadd6308d38c52b832db93edb468bb5/report/index.html

@doris-robot
Copy link

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 45.77 seconds
stream load tsv: 558 seconds loaded 74807831229 Bytes, about 127 MB/s
stream load json: 20 seconds loaded 2358488459 Bytes, about 112 MB/s
stream load orc: 65 seconds loaded 1101869774 Bytes, about 16 MB/s
stream load parquet: 32 seconds loaded 861443392 Bytes, about 25 MB/s
insert into select: 28.6 seconds inserted 10000000 Rows, about 349K ops/s
storage size: 17162240464 Bytes

@LemonLiTree
Copy link
Collaborator Author

run buildall


* 空数组、空对象或标量的深度为 1。
* 仅包含深度为 1 的元素的非空数组的深度为2。
* 仅包含深度为 1 的成员值的非空对象的深度为2。
Copy link
Contributor

Choose a reason for hiding this comment

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

add explanation for depth > 2

@@ -1771,6 +1771,7 @@
[['json_contains'], 'BOOLEAN', ['JSONB', 'JSONB'], 'ALWAYS_NULLABLE'],
[['json_contains'], 'BOOLEAN', ['JSONB', 'JSONB', 'VARCHAR'], 'ALWAYS_NULLABLE'],
[['json_contains'], 'BOOLEAN', ['JSONB', 'JSONB', 'STRING'], 'ALWAYS_NULLABLE'],
[['json_depth'], 'INT', ['JSONB'], 'ALWAYS_NULLABLE'],
Copy link
Contributor

Choose a reason for hiding this comment

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

why not depends on argument?

be/src/util/jsonb_document.h Outdated Show resolved Hide resolved
return 1;
}
case JsonbType::T_Object: {
int depth = 1;
Copy link
Contributor

Choose a reason for hiding this comment

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

suggest a better name base_depth

auto return_type = block.get_data_type(result);
MutableColumnPtr res = return_type->create_column();

//if(jsonb_data_column->)
Copy link
Contributor

Choose a reason for hiding this comment

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

delete unused code

continue;
}
auto depth = value->depth();
res->insert_data(const_cast<const char*>((char*)&depth), 0);
Copy link
Contributor

Choose a reason for hiding this comment

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

it's unsafe. Add a int32 to column is safe and efficient.

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

clang-tidy made some suggestions

String get_name() const override { return name; }
static FunctionPtr create() { return std::make_shared<FunctionJsonbDepth>(); }

DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
Copy link
Contributor

Choose a reason for hiding this comment

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

warning: method 'get_return_type_impl' can be made static [readability-convert-member-functions-to-static]

Suggested change
DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
static DataTypePtr get_return_type_impl(const DataTypes& arguments) override {


bool use_default_implementation_for_nulls() const override { return false; }

Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments,
Copy link
Contributor

Choose a reason for hiding this comment

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

warning: method 'execute_impl' can be made static [readability-convert-member-functions-to-static]

Suggested change
Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments,
static Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments,

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

clang-tidy made some suggestions

Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments,
size_t result, size_t input_rows_count) const override {
Copy link
Contributor

Choose a reason for hiding this comment

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

warning: method 'execute_impl' can be made static [readability-convert-member-functions-to-static]

Suggested change
Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments,
size_t result, size_t input_rows_count) const override {
static Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments,
size_t result, size_t input_rows_count) override {

@LemonLiTree
Copy link
Collaborator Author

run buildall

1 similar comment
@LemonLiTree
Copy link
Collaborator Author

run buildall

@doris-robot
Copy link

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 44.67 seconds
stream load tsv: 550 seconds loaded 74807831229 Bytes, about 129 MB/s
stream load json: 18 seconds loaded 2358488459 Bytes, about 124 MB/s
stream load orc: 66 seconds loaded 1101869774 Bytes, about 15 MB/s
stream load parquet: 32 seconds loaded 861443392 Bytes, about 25 MB/s
insert into select: 28.9 seconds inserted 10000000 Rows, about 346K ops/s
storage size: 17095806970 Bytes

@doris-robot
Copy link

TPC-H test result on machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
Tpch sf100 test result on commit 8c7a97eaa29c6d3524a4ed1749616234d1c39653, data reload: false

run tpch-sf100 query with default conf and session variables
q1	5314	5072	5257	5072
q2	358	148	159	148
q3	2022	2020	1999	1999
q4	1388	1370	1351	1351
q5	3963	3933	3939	3933
q6	253	129	131	129
q7	1454	878	891	878
q8	2777	2765	2758	2758
q9	9818	9541	9664	9541
q10	3451	3527	3525	3525
q11	388	250	247	247
q12	424	278	282	278
q13	4588	4202	4162	4162
q14	327	296	287	287
q15	625	571	530	530
q16	674	586	576	576
q17	1131	1103	1093	1093
q18	8108	7721	7653	7653
q19	1657	1690	1691	1690
q20	557	310	301	301
q21	4664	4332	4349	4332
q22	509	409	388	388
Total cold run time: 54450 ms
Total hot run time: 50871 ms

run tpch-sf100 query with default conf and set session variable runtime_filter_mode=off
q1	5012	5018	5025	5018
q2	331	218	235	218
q3	4063	4001	3995	3995
q4	2777	2755	2769	2755
q5	9728	9622	9651	9622
q6	246	122	119	119
q7	3038	2498	2511	2498
q8	4816	4815	4834	4815
q9	13300	13116	13135	13116
q10	4066	4144	4159	4144
q11	736	641	706	641
q12	973	861	831	831
q13	4264	3865	3809	3809
q14	386	347	343	343
q15	574	536	558	536
q16	755	693	661	661
q17	4053	4001	3917	3917
q18	9675	9484	9479	9479
q19	1767	1807	1768	1768
q20	2379	2058	2042	2042
q21	8979	8880	8888	8880
q22	988	902	828	828
Total cold run time: 82906 ms
Total hot run time: 80035 ms

@LemonLiTree
Copy link
Collaborator Author

run buildall

@doris-robot
Copy link

TeamCity be ut coverage result:
Function Coverage: 36.80% (8421/22886)
Line Coverage: 29.27% (68407/233688)
Region Coverage: 27.87% (35357/126862)
Branch Coverage: 24.64% (18069/73340)
Coverage Report: http://coverage.selectdb-in.cc/coverage/36fb0a1f3e17c0ef37293e889b409bde61b06c27_36fb0a1f3e17c0ef37293e889b409bde61b06c27/report/index.html

@doris-robot
Copy link

TPC-H test result on machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
Tpch sf100 test result on commit 36fb0a1f3e17c0ef37293e889b409bde61b06c27, data reload: false

run tpch-sf100 query with default conf and session variables
q1	5220	5043	5050	5043
q2	359	177	159	159
q3	2041	2058	2012	2012
q4	1401	1360	1341	1341
q5	3971	3988	3972	3972
q6	255	131	126	126
q7	1434	885	886	885
q8	2771	2789	2760	2760
q9	9768	9632	9580	9580
q10	3452	3544	3526	3526
q11	383	257	260	257
q12	426	286	283	283
q13	4588	4128	4198	4128
q14	317	286	290	286
q15	601	540	532	532
q16	671	590	577	577
q17	1132	1054	1063	1054
q18	8124	7704	7661	7661
q19	1675	1682	1678	1678
q20	561	294	311	294
q21	4648	4355	4357	4355
q22	508	402	409	402
Total cold run time: 54306 ms
Total hot run time: 50911 ms

run tpch-sf100 query with default conf and set session variable runtime_filter_mode=off
q1	4978	4998	4971	4971
q2	343	218	226	218
q3	4067	4007	4020	4007
q4	2770	2749	2743	2743
q5	9741	9678	9671	9671
q6	243	120	120	120
q7	3059	2491	2513	2491
q8	4835	4801	4795	4795
q9	13238	13224	13139	13139
q10	4067	4177	4167	4167
q11	758	634	690	634
q12	988	841	834	834
q13	4276	3895	3898	3895
q14	372	354	353	353
q15	615	542	558	542
q16	772	676	671	671
q17	3969	3915	3920	3915
q18	9534	9419	9367	9367
q19	1811	1772	1775	1772
q20	2401	2083	2045	2045
q21	8861	8764	8723	8723
q22	909	844	826	826
Total cold run time: 82607 ms
Total hot run time: 79899 ms

@doris-robot
Copy link

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 44.65 seconds
stream load tsv: 555 seconds loaded 74807831229 Bytes, about 128 MB/s
stream load json: 18 seconds loaded 2358488459 Bytes, about 124 MB/s
stream load orc: 65 seconds loaded 1101869774 Bytes, about 16 MB/s
stream load parquet: 32 seconds loaded 861443392 Bytes, about 25 MB/s
insert into select: 28.5 seconds inserted 10000000 Rows, about 350K ops/s
storage size: 17096271919 Bytes

@LemonLiTree
Copy link
Collaborator Author

run buildall

1 similar comment
@LemonLiTree
Copy link
Collaborator Author

run buildall

@doris-robot
Copy link

TeamCity be ut coverage result:
Function Coverage: 36.80% (8421/22886)
Line Coverage: 29.28% (68416/233691)
Region Coverage: 27.87% (35362/126863)
Branch Coverage: 24.64% (18069/73340)
Coverage Report: http://coverage.selectdb-in.cc/coverage/36fb0a1f3e17c0ef37293e889b409bde61b06c27_36fb0a1f3e17c0ef37293e889b409bde61b06c27/report/index.html

@doris-robot
Copy link

TPC-H test result on machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
Tpch sf100 test result on commit 36fb0a1f3e17c0ef37293e889b409bde61b06c27, data reload: false

run tpch-sf100 query with default conf and session variables
q1	5249	5149	5191	5149
q2	378	147	159	147
q3	2043	1970	2020	1970
q4	1424	1302	1278	1278
q5	3997	3996	3991	3991
q6	253	127	127	127
q7	1427	886	905	886
q8	2783	2826	2826	2826
q9	10082	9712	9982	9712
q10	3471	3535	3554	3535
q11	394	264	249	249
q12	438	278	280	278
q13	4617	3814	3803	3803
q14	310	289	275	275
q15	614	554	540	540
q16	681	597	583	583
q17	1160	982	958	958
q18	7937	7490	7581	7490
q19	1685	1693	1667	1667
q20	563	323	296	296
q21	4480	4059	4070	4059
q22	517	407	395	395
Total cold run time: 54503 ms
Total hot run time: 50214 ms

run tpch-sf100 query with default conf and set session variable runtime_filter_mode=off
q1	5125	5113	5123	5113
q2	319	210	250	210
q3	4047	4037	4031	4031
q4	2817	2778	2764	2764
q5	9696	9688	9720	9688
q6	244	124	126	124
q7	3047	2567	2488	2488
q8	4861	4884	4878	4878
q9	13301	13244	13204	13204
q10	4092	4190	4176	4176
q11	735	660	634	634
q12	1007	864	829	829
q13	4287	3592	3594	3592
q14	375	347	347	347
q15	632	549	551	549
q16	789	689	684	684
q17	3964	3830	3906	3830
q18	9684	9178	9070	9070
q19	1957	1795	1809	1795
q20	2425	2069	2063	2063
q21	8791	8575	8635	8575
q22	926	888	882	882
Total cold run time: 83121 ms
Total hot run time: 79526 ms

@doris-robot
Copy link

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 44.87 seconds
stream load tsv: 554 seconds loaded 74807831229 Bytes, about 128 MB/s
stream load json: 18 seconds loaded 2358488459 Bytes, about 124 MB/s
stream load orc: 65 seconds loaded 1101869774 Bytes, about 16 MB/s
stream load parquet: 32 seconds loaded 861443392 Bytes, about 25 MB/s
insert into select: 28.0 seconds inserted 10000000 Rows, about 357K ops/s
storage size: 17096577020 Bytes

@LemonLiTree
Copy link
Collaborator Author

run buildall

@doris-robot
Copy link

TeamCity be ut coverage result:
Function Coverage: 36.79% (8419/22886)
Line Coverage: 29.27% (68391/233691)
Region Coverage: 27.86% (35342/126863)
Branch Coverage: 24.63% (18064/73340)
Coverage Report: http://coverage.selectdb-in.cc/coverage/36fb0a1f3e17c0ef37293e889b409bde61b06c27_36fb0a1f3e17c0ef37293e889b409bde61b06c27/report/index.html

@doris-robot
Copy link

TPC-H test result on machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
Tpch sf100 test result on commit 36fb0a1f3e17c0ef37293e889b409bde61b06c27, data reload: false

run tpch-sf100 query with default conf and session variables
q1	5328	5102	5139	5102
q2	360	153	159	153
q3	2046	1956	1959	1956
q4	1377	1284	1263	1263
q5	3960	3928	4018	3928
q6	249	130	139	130
q7	1401	889	889	889
q8	2752	2777	2754	2754
q9	13084	9737	9541	9541
q10	3453	3502	3523	3502
q11	383	252	241	241
q12	448	295	291	291
q13	4591	3828	3859	3828
q14	314	302	283	283
q15	617	563	567	563
q16	671	594	580	580
q17	1141	982	957	957
q18	7763	7368	7280	7280
q19	1688	1654	1661	1654
q20	570	326	306	306
q21	4475	4020	4023	4020
q22	515	407	425	407
Total cold run time: 57186 ms
Total hot run time: 49628 ms

run tpch-sf100 query with default conf and set session variable runtime_filter_mode=off
q1	5047	5020	5022	5020
q2	334	223	235	223
q3	4016	3997	3912	3912
q4	2788	2757	2772	2757
q5	9545	9500	9459	9459
q6	247	128	132	128
q7	2661	2300	2337	2300
q8	4834	4835	4853	4835
q9	13197	13075	13060	13060
q10	4084	4181	4207	4181
q11	745	671	661	661
q12	993	836	818	818
q13	4309	3608	3564	3564
q14	400	340	346	340
q15	630	566	568	566
q16	752	689	690	689
q17	3923	3911	3874	3874
q18	9557	8887	9052	8887
q19	1787	1794	1783	1783
q20	2401	2054	2064	2054
q21	8734	8418	8575	8418
q22	975	841	859	841
Total cold run time: 81959 ms
Total hot run time: 78370 ms

@LemonLiTree
Copy link
Collaborator Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17601	5096	4288	4288
q2	2005	191	184	184
q3	10454	1181	1157	1157
q4	10195	866	761	761
q5	7517	2723	2680	2680
q6	220	136	135	135
q7	1053	603	580	580
q8	9228	2077	2045	2045
q9	7252	6627	6597	6597
q10	8551	3523	3547	3523
q11	451	230	227	227
q12	439	227	224	224
q13	18826	2941	2978	2941
q14	264	229	238	229
q15	526	481	478	478
q16	525	381	381	381
q17	971	639	683	639
q18	7407	6873	6761	6761
q19	6285	1509	1545	1509
q20	647	324	304	304
q21	3544	2812	2785	2785
q22	384	312	309	309
Total cold run time: 114345 ms
Total hot run time: 38737 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4321	4213	4229	4213
q2	364	274	264	264
q3	2942	2789	2786	2786
q4	1852	1579	1589	1579
q5	5351	5325	5332	5325
q6	216	125	126	125
q7	2227	1875	1879	1875
q8	3226	3353	3361	3353
q9	8623	8583	8766	8583
q10	4107	3871	4020	3871
q11	619	496	483	483
q12	815	632	591	591
q13	17215	3237	3153	3153
q14	317	287	291	287
q15	535	492	469	469
q16	496	452	441	441
q17	1863	1534	1537	1534
q18	8107	7983	7840	7840
q19	1722	1596	1589	1589
q20	1977	1858	1853	1853
q21	7494	5022	4989	4989
q22	543	478	466	466
Total cold run time: 74932 ms
Total hot run time: 55669 ms

@doris-robot
Copy link

TeamCity be ut coverage result:
Function Coverage: 35.37% (8919/25214)
Line Coverage: 27.09% (73325/270660)
Region Coverage: 26.22% (37871/144413)
Branch Coverage: 23.03% (19282/83740)
Coverage Report: http://coverage.selectdb-in.cc/coverage/401ccb139bdffba8ae512c1e2073352594aab20a_401ccb139bdffba8ae512c1e2073352594aab20a/report/index.html

@doris-robot
Copy link

TPC-DS: Total hot run time: 186313 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 401ccb139bdffba8ae512c1e2073352594aab20a, data reload: false

query1	904	386	354	354
query2	7283	2436	2312	2312
query3	6646	201	197	197
query4	22603	21498	21240	21240
query5	4148	420	417	417
query6	275	192	171	171
query7	4578	286	283	283
query8	234	193	199	193
query9	8452	2316	2289	2289
query10	411	241	240	240
query11	14693	14118	14122	14118
query12	138	83	88	83
query13	1640	368	371	368
query14	9823	7912	7934	7912
query15	266	185	187	185
query16	8256	263	256	256
query17	2070	578	566	566
query18	2096	284	275	275
query19	344	156	151	151
query20	89	85	88	85
query21	199	131	125	125
query22	5001	4877	4848	4848
query23	33855	33282	33407	33282
query24	8970	3055	3089	3055
query25	619	399	404	399
query26	695	169	167	167
query27	2295	361	375	361
query28	5748	2089	2092	2089
query29	912	654	646	646
query30	321	183	183	183
query31	1052	830	756	756
query32	97	50	53	50
query33	602	245	247	245
query34	957	479	505	479
query35	832	719	723	719
query36	1066	943	927	927
query37	118	75	71	71
query38	3572	3485	3382	3382
query39	1629	1567	1598	1567
query40	184	134	137	134
query41	44	45	43	43
query42	109	104	106	104
query43	582	545	539	539
query44	1157	765	758	758
query45	287	281	278	278
query46	1110	729	742	729
query47	2048	1951	1934	1934
query48	367	300	308	300
query49	825	393	396	393
query50	775	383	391	383
query51	6867	6748	6709	6709
query52	107	85	92	85
query53	354	288	286	286
query54	301	229	230	229
query55	77	73	74	73
query56	253	249	236	236
query57	1312	1194	1186	1186
query58	232	208	238	208
query59	3499	3453	3069	3069
query60	254	224	224	224
query61	88	84	85	84
query62	587	434	445	434
query63	309	276	273	273
query64	4613	3881	3861	3861
query65	3110	3008	3030	3008
query66	743	337	326	326
query67	15641	15158	15157	15157
query68	6526	552	542	542
query69	531	298	297	297
query70	1206	1125	1212	1125
query71	1426	1262	1267	1262
query72	6551	2670	2434	2434
query73	732	318	322	318
query74	6876	6519	6463	6463
query75	3610	2635	2616	2616
query76	3637	1001	962	962
query77	593	264	267	264
query78	11028	10236	10230	10230
query79	8491	525	528	525
query80	1640	436	432	432
query81	513	251	248	248
query82	823	98	96	96
query83	197	168	165	165
query84	263	86	80	80
query85	1202	269	261	261
query86	396	286	288	286
query87	3489	3298	3351	3298
query88	4555	2362	2359	2359
query89	539	377	369	369
query90	1887	183	181	181
query91	125	95	98	95
query92	58	48	47	47
query93	7056	517	507	507
query94	1039	177	172	172
query95	389	289	288	288
query96	592	276	266	266
query97	3122	2969	2991	2969
query98	231	220	242	220
query99	1201	901	847	847
Total cold run time: 289848 ms
Total hot run time: 186313 ms

@doris-robot
Copy link

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

query1	0.04	0.03	0.04
query2	0.09	0.04	0.04
query3	0.23	0.05	0.05
query4	1.66	0.07	0.08
query5	0.49	0.51	0.51
query6	1.47	0.73	0.72
query7	0.02	0.02	0.02
query8	0.06	0.04	0.05
query9	0.53	0.48	0.49
query10	0.54	0.56	0.55
query11	0.16	0.12	0.11
query12	0.15	0.12	0.12
query13	0.59	0.58	0.58
query14	0.77	0.78	0.77
query15	0.82	0.82	0.81
query16	0.37	0.37	0.37
query17	0.98	0.94	0.94
query18	0.23	0.23	0.24
query19	1.87	1.74	1.77
query20	0.01	0.02	0.01
query21	15.39	0.66	0.65
query22	4.24	7.43	1.70
query23	18.25	1.42	1.28
query24	1.64	0.33	0.23
query25	0.14	0.08	0.08
query26	0.28	0.17	0.17
query27	0.07	0.08	0.08
query28	13.25	1.01	1.00
query29	12.53	3.26	3.27
query30	0.27	0.07	0.06
query31	2.83	0.39	0.38
query32	3.27	0.48	0.46
query33	2.88	2.84	2.90
query34	17.55	4.41	4.42
query35	4.53	4.50	4.46
query36	0.66	0.47	0.46
query37	0.19	0.16	0.16
query38	0.16	0.15	0.15
query39	0.04	0.04	0.04
query40	0.17	0.15	0.14
query41	0.10	0.06	0.04
query42	0.05	0.05	0.05
query43	0.04	0.04	0.04
Total cold run time: 109.61 s
Total hot run time: 30.33 s

@LemonLiTree
Copy link
Collaborator Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17608	4444	4308	4308
q2	2023	197	190	190
q3	10431	1207	1135	1135
q4	10191	841	760	760
q5	7515	2724	2646	2646
q6	218	134	137	134
q7	1043	642	597	597
q8	9229	2083	2067	2067
q9	7216	6589	6516	6516
q10	8598	3519	3524	3519
q11	452	242	237	237
q12	476	231	222	222
q13	17915	2958	2986	2958
q14	273	230	237	230
q15	528	483	504	483
q16	544	395	392	392
q17	968	718	691	691
q18	7473	6865	6643	6643
q19	6177	1546	1407	1407
q20	668	324	315	315
q21	3583	2814	2891	2814
q22	384	331	310	310
Total cold run time: 113513 ms
Total hot run time: 38574 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4405	4268	4250	4250
q2	367	271	264	264
q3	2971	2730	2780	2730
q4	1921	1620	1601	1601
q5	5347	5360	5315	5315
q6	207	129	127	127
q7	2239	1860	1909	1860
q8	3204	3370	3352	3352
q9	8573	8595	8646	8595
q10	4059	3938	3979	3938
q11	607	493	502	493
q12	826	648	639	639
q13	16361	3258	3173	3173
q14	312	273	285	273
q15	543	491	510	491
q16	524	444	450	444
q17	1859	1564	1506	1506
q18	8083	8007	7848	7848
q19	1663	1530	1536	1530
q20	2086	1875	1834	1834
q21	5221	5039	4932	4932
q22	593	470	504	470
Total cold run time: 71971 ms
Total hot run time: 55665 ms

@doris-robot
Copy link

TeamCity be ut coverage result:
Function Coverage: 35.36% (8917/25216)
Line Coverage: 27.09% (73330/270679)
Region Coverage: 26.23% (37881/144417)
Branch Coverage: 23.03% (19290/83744)
Coverage Report: http://coverage.selectdb-in.cc/coverage/401ccb139bdffba8ae512c1e2073352594aab20a_401ccb139bdffba8ae512c1e2073352594aab20a/report/index.html

@doris-robot
Copy link

TPC-DS: Total hot run time: 185648 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 401ccb139bdffba8ae512c1e2073352594aab20a, data reload: false

query1	896	382	372	372
query2	6189	2653	2343	2343
query3	6655	205	198	198
query4	25098	21376	21434	21376
query5	4148	423	418	418
query6	274	189	195	189
query7	4601	295	294	294
query8	237	192	191	191
query9	8523	2354	2321	2321
query10	410	241	254	241
query11	14658	14272	14385	14272
query12	130	88	85	85
query13	1636	362	365	362
query14	9425	7618	8183	7618
query15	266	186	188	186
query16	8258	267	268	267
query17	1999	582	570	570
query18	2114	288	284	284
query19	335	162	156	156
query20	96	86	86	86
query21	203	135	129	129
query22	4964	4834	4795	4795
query23	33960	33132	33415	33132
query24	11029	3068	3133	3068
query25	605	423	399	399
query26	727	164	171	164
query27	2296	378	377	377
query28	6108	2095	2096	2095
query29	891	657	647	647
query30	280	189	191	189
query31	1008	787	768	768
query32	97	54	57	54
query33	664	272	271	271
query34	875	504	522	504
query35	866	731	747	731
query36	1115	969	940	940
query37	118	74	71	71
query38	3461	3376	3315	3315
query39	1606	1585	1560	1560
query40	188	134	140	134
query41	50	46	43	43
query42	107	101	103	101
query43	580	560	551	551
query44	1132	769	760	760
query45	291	285	284	284
query46	1108	748	808	748
query47	1989	1911	1976	1911
query48	394	386	296	296
query49	845	416	417	416
query50	777	400	406	400
query51	6951	6776	6853	6776
query52	102	90	90	90
query53	355	283	281	281
query54	305	236	238	236
query55	80	73	75	73
query56	247	236	235	235
query57	1258	1147	1130	1130
query58	222	201	202	201
query59	3266	3396	3098	3098
query60	254	239	224	224
query61	113	106	85	85
query62	616	445	431	431
query63	312	284	289	284
query64	4691	3786	3814	3786
query65	3087	3082	3057	3057
query66	740	326	367	326
query67	15632	15068	14681	14681
query68	9098	544	561	544
query69	565	315	322	315
query70	1488	1202	1170	1170
query71	1476	1270	1271	1270
query72	6480	2673	2428	2428
query73	1666	320	323	320
query74	7047	6303	6344	6303
query75	4086	2645	2610	2610
query76	5106	982	985	982
query77	659	264	271	264
query78	11107	10209	10144	10144
query79	12759	528	533	528
query80	2636	446	434	434
query81	519	242	246	242
query82	504	95	94	94
query83	235	167	163	163
query84	261	82	80	80
query85	1007	263	306	263
query86	353	294	322	294
query87	3442	3291	3278	3278
query88	5197	2309	2316	2309
query89	531	378	380	378
query90	2054	183	182	182
query91	127	97	96	96
query92	59	51	49	49
query93	7456	509	502	502
query94	1318	182	177	177
query95	394	306	306	306
query96	626	261	263	261
query97	3132	2950	2921	2921
query98	236	216	214	214
query99	1201	871	851	851
Total cold run time: 305338 ms
Total hot run time: 185648 ms

@doris-robot
Copy link

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

query1	0.03	0.03	0.03
query2	0.08	0.04	0.04
query3	0.23	0.05	0.05
query4	1.67	0.08	0.07
query5	0.49	0.50	0.50
query6	1.43	0.72	0.71
query7	0.02	0.01	0.01
query8	0.05	0.04	0.04
query9	0.53	0.49	0.49
query10	0.54	0.53	0.53
query11	0.16	0.11	0.12
query12	0.15	0.12	0.13
query13	0.59	0.58	0.58
query14	0.81	0.76	0.78
query15	0.81	0.80	0.80
query16	0.36	0.36	0.36
query17	1.03	0.97	1.02
query18	0.20	0.23	0.24
query19	1.78	1.68	1.67
query20	0.01	0.01	0.01
query21	15.41	0.66	0.66
query22	4.50	7.09	1.63
query23	18.25	1.39	1.24
query24	2.00	0.23	0.23
query25	0.15	0.08	0.07
query26	0.26	0.16	0.16
query27	0.09	0.07	0.07
query28	13.27	1.00	0.99
query29	12.61	3.30	3.27
query30	0.26	0.08	0.06
query31	2.83	0.38	0.38
query32	3.27	0.47	0.46
query33	2.77	2.90	2.82
query34	17.22	4.44	4.38
query35	4.46	4.45	4.47
query36	0.65	0.46	0.45
query37	0.18	0.16	0.15
query38	0.15	0.16	0.14
query39	0.04	0.04	0.04
query40	0.17	0.13	0.14
query41	0.09	0.04	0.05
query42	0.05	0.04	0.05
query43	0.04	0.03	0.03
Total cold run time: 109.69 s
Total hot run time: 29.97 s

Copy link
Contributor

@xiaokang xiaokang left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Contributor

@xiaokang xiaokang 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 May 1, 2024
Copy link
Contributor

github-actions bot commented May 1, 2024

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

Copy link
Contributor

github-actions bot commented May 1, 2024

PR approved by anyone and no changes requested.

* ScalarFunction 'json_depth'. This class is generated by GenerateFunction.
*/
public class JsonDepth extends ScalarFunction
implements BinaryExpression, ExplicitlyCastableSignature, PropagateNullable {
Copy link
Contributor

Choose a reason for hiding this comment

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

jsonDepth should be UnaryExpression

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.0.4 reviewed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants