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

[feature](Nereids): add ColumnPruningPostProcessor. #32800

Merged
merged 2 commits into from
Mar 28, 2024

Conversation

jackwener
Copy link
Member

Proposed changes

Sometime, some redundant column will be generated after join reorder, we need ColumnPruningPostProcessor.

Further comments

If this is a relatively large or complex change, kick off the discussion at dev@doris.apache.org by explaining why you chose the solution you did and what alternatives you considered, etc...

@jackwener
Copy link
Member Author

run buildall

1 similar comment
@jackwener
Copy link
Member Author

run buildall

924060929
924060929 previously approved these changes Mar 26, 2024
Set<Slot> rightOutput = right.getOutputSet();

Set<Slot> usedSlots = project.getProjects().stream().flatMap(ne -> ne.getInputSlots().stream())
.collect(Collectors.toSet());
Copy link
Contributor

@924060929 924060929 Mar 26, 2024

Choose a reason for hiding this comment

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

suggest use .collect(ImmutableSet.toImmutableSet()) to keep order of the slots

Copy link
Contributor

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

@github-actions github-actions bot added the approved Indicates a PR has been approved by one committer. label Mar 26, 2024
Copy link
Contributor

PR approved by anyone and no changes requested.

@jackwener
Copy link
Member Author

run buildall

Sometime, some redundant column will be generated after join reorder, we need ColumnPruningPostProcessor.
@jackwener
Copy link
Member Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17819	4282	4110	4110
q2	2119	162	158	158
q3	11182	1175	1224	1175
q4	10622	757	782	757
q5	7843	2993	2995	2993
q6	209	130	127	127
q7	1064	615	595	595
q8	9789	2051	2080	2051
q9	10017	7310	9263	7310
q10	9087	3483	3520	3483
q11	441	230	217	217
q12	460	201	194	194
q13	17806	2872	2842	2842
q14	234	209	201	201
q15	517	470	460	460
q16	479	380	375	375
q17	952	555	635	555
q18	7096	6519	6555	6519
q19	1540	1490	1418	1418
q20	541	248	275	248
q21	3590	2983	2955	2955
q22	358	312	297	297
Total cold run time: 113765 ms
Total hot run time: 39040 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4083	4069	4036	4036
q2	319	237	232	232
q3	2990	2823	2827	2823
q4	1836	1575	1533	1533
q5	5207	5250	5248	5248
q6	198	116	115	115
q7	2226	1839	1813	1813
q8	3146	3289	3260	3260
q9	8435	8372	8407	8372
q10	3830	3758	3836	3758
q11	542	452	436	436
q12	719	548	566	548
q13	15767	2889	2834	2834
q14	282	254	258	254
q15	509	454	464	454
q16	465	416	448	416
q17	1743	1494	1458	1458
q18	7439	7219	7090	7090
q19	1622	1566	1551	1551
q20	1917	1754	1705	1705
q21	4748	4610	4672	4610
q22	525	467	451	451
Total cold run time: 68548 ms
Total hot run time: 52997 ms

@jackwener
Copy link
Member Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17624	4193	4065	4065
q2	2106	149	147	147
q3	10597	1160	1193	1160
q4	10225	793	816	793
q5	7463	2909	2870	2870
q6	205	124	124	124
q7	1027	598	578	578
q8	9326	1975	1933	1933
q9	9743	7467	7188	7188
q10	8527	3466	3557	3466
q11	431	227	216	216
q12	406	199	196	196
q13	17809	2907	2919	2907
q14	223	210	203	203
q15	526	467	466	466
q16	494	373	364	364
q17	948	574	571	571
q18	7101	6398	6362	6362
q19	1621	1401	1440	1401
q20	543	271	249	249
q21	3557	2884	2975	2884
q22	349	295	290	290
Total cold run time: 110851 ms
Total hot run time: 38433 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4111	4092	4105	4092
q2	322	232	233	232
q3	2957	2888	2847	2847
q4	1852	1538	1570	1538
q5	5404	5375	5444	5375
q6	205	131	120	120
q7	2291	1880	1937	1880
q8	3143	3293	3332	3293
q9	8674	8546	8488	8488
q10	3825	3823	3757	3757
q11	535	442	445	442
q12	696	517	549	517
q13	18731	2899	2845	2845
q14	277	245	244	244
q15	493	455	463	455
q16	455	408	416	408
q17	1735	1471	1456	1456
q18	7521	7197	7093	7093
q19	2301	1572	1491	1491
q20	1920	1724	1720	1720
q21	4759	4706	4587	4587
q22	555	448	441	441
Total cold run time: 72762 ms
Total hot run time: 53321 ms

@jackwener
Copy link
Member Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17608	4186	4061	4061
q2	2112	160	149	149
q3	10587	1093	1183	1093
q4	10228	747	760	747
q5	7487	2902	2857	2857
q6	197	122	121	121
q7	1043	595	561	561
q8	9329	2001	1977	1977
q9	6910	6358	6357	6357
q10	8420	3467	3582	3467
q11	435	227	218	218
q12	399	200	191	191
q13	17805	2830	2847	2830
q14	238	214	197	197
q15	502	463	466	463
q16	501	367	365	365
q17	939	515	574	515
q18	7013	6473	6521	6473
q19	2228	1421	1489	1421
q20	555	256	262	256
q21	3530	2889	2824	2824
q22	370	301	290	290
Total cold run time: 108436 ms
Total hot run time: 37433 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4107	4043	4039	4039
q2	321	227	229	227
q3	2941	2840	2833	2833
q4	1816	1565	1545	1545
q5	5212	5240	5202	5202
q6	195	117	115	115
q7	2199	1785	1813	1785
q8	3119	3269	3241	3241
q9	8414	8392	8361	8361
q10	3765	3766	3825	3766
q11	535	435	436	435
q12	737	547	541	541
q13	16932	2821	2817	2817
q14	270	253	260	253
q15	504	463	464	463
q16	452	410	413	410
q17	1720	1505	1465	1465
q18	7384	7172	7187	7172
q19	1628	1539	1556	1539
q20	1965	1704	1708	1704
q21	4766	4550	4713	4550
q22	526	435	461	435
Total cold run time: 69508 ms
Total hot run time: 52898 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 182198 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 62ff77c7abd787a754bb91dd0c742afeffda985d, data reload: false

query1	936	366	346	346
query2	6550	2033	1921	1921
query3	6707	207	217	207
query4	31883	21398	21358	21358
query5	4352	405	406	405
query6	283	185	174	174
query7	4626	287	285	285
query8	227	169	173	169
query9	9527	2337	2336	2336
query10	558	239	265	239
query11	14739	14250	14315	14250
query12	132	88	85	85
query13	1634	413	414	413
query14	9721	7690	8010	7690
query15	261	186	185	185
query16	8234	254	256	254
query17	1990	553	533	533
query18	2124	275	275	275
query19	345	151	158	151
query20	91	84	90	84
query21	200	122	128	122
query22	5047	4855	4900	4855
query23	33765	32790	32842	32790
query24	11021	2907	2865	2865
query25	595	384	389	384
query26	1388	155	158	155
query27	2978	355	359	355
query28	7787	1912	1900	1900
query29	908	632	619	619
query30	299	152	151	151
query31	941	750	755	750
query32	104	60	55	55
query33	778	258	252	252
query34	1032	495	499	495
query35	872	628	614	614
query36	1056	899	883	883
query37	115	65	64	64
query38	3568	3435	3452	3435
query39	1493	1479	1431	1431
query40	220	124	112	112
query41	51	47	47	47
query42	107	97	95	95
query43	482	434	446	434
query44	1167	738	739	738
query45	272	287	279	279
query46	1109	708	693	693
query47	1947	1879	1865	1865
query48	483	351	365	351
query49	1109	351	331	331
query50	761	372	372	372
query51	6689	6693	6624	6624
query52	107	88	92	88
query53	354	275	272	272
query54	302	239	246	239
query55	84	79	78	78
query56	249	230	230	230
query57	1232	1170	1173	1170
query58	234	212	215	212
query59	2846	2627	2639	2627
query60	274	255	254	254
query61	114	112	109	109
query62	637	414	419	414
query63	299	279	274	274
query64	5649	4118	4137	4118
query65	3082	3013	3038	3013
query66	1009	388	387	387
query67	15427	15072	14986	14986
query68	6946	506	519	506
query69	615	387	394	387
query70	1164	1208	1191	1191
query71	484	273	267	267
query72	6399	2554	2358	2358
query73	728	312	321	312
query74	8166	6414	6471	6414
query75	3378	2208	2215	2208
query76	4437	929	947	929
query77	620	255	257	255
query78	10960	10279	10048	10048
query79	8116	510	519	510
query80	1494	376	371	371
query81	539	221	222	221
query82	902	93	84	84
query83	207	149	143	143
query84	286	84	82	82
query85	1504	318	316	316
query86	466	320	297	297
query87	3783	3557	3553	3553
query88	4937	2311	2300	2300
query89	520	364	363	363
query90	1980	176	175	175
query91	165	138	137	137
query92	63	46	46	46
query93	6696	488	476	476
query94	1145	179	182	179
query95	426	333	326	326
query96	603	267	272	267
query97	2626	2484	2476	2476
query98	234	216	208	208
query99	1213	846	863	846
Total cold run time: 306965 ms
Total hot run time: 182198 ms

@doris-robot
Copy link

Load test result on machine: 'aliyun_ecs.c7a.8xlarge_32C64G'

Load test result on commit 62ff77c7abd787a754bb91dd0c742afeffda985d with default session variables
Stream load json:         19 seconds loaded 2358488459 Bytes, about 118 MB/s
Stream load orc:          59 seconds loaded 1101869774 Bytes, about 17 MB/s
Stream load parquet:      31 seconds loaded 861443392 Bytes, about 26 MB/s
Insert into select:       13.6 seconds inserted 10000000 Rows, about 735K ops/s

@jackwener
Copy link
Member Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17915	4369	4277	4277
q2	2426	164	160	160
q3	11036	1185	1223	1185
q4	10639	786	826	786
q5	7584	3010	2935	2935
q6	211	130	128	128
q7	1038	576	580	576
q8	9334	2022	1962	1962
q9	6954	6367	6295	6295
q10	8378	3478	3594	3478
q11	438	229	217	217
q12	364	206	202	202
q13	17784	2876	2852	2852
q14	238	204	213	204
q15	514	483	474	474
q16	468	371	366	366
q17	940	599	518	518
q18	7164	6453	6393	6393
q19	1560	1413	1481	1413
q20	575	275	248	248
q21	3530	2942	2827	2827
q22	345	288	297	288
Total cold run time: 109435 ms
Total hot run time: 37784 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4139	4108	4088	4088
q2	328	226	229	226
q3	2938	2845	2813	2813
q4	1858	1574	1533	1533
q5	5194	5227	5232	5227
q6	199	117	122	117
q7	2195	1815	1817	1815
q8	3187	3267	3271	3267
q9	8445	8405	8334	8334
q10	3834	3787	3783	3783
q11	540	438	447	438
q12	734	570	541	541
q13	10156	2887	2836	2836
q14	288	242	260	242
q15	494	460	449	449
q16	458	414	426	414
q17	1713	1475	1467	1467
q18	7360	7269	7106	7106
q19	1615	1550	1504	1504
q20	1947	1730	1726	1726
q21	4859	4633	4702	4633
q22	499	460	473	460
Total cold run time: 62980 ms
Total hot run time: 53019 ms

@doris-robot
Copy link

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

query1	938	363	365	363
query2	6545	1946	2053	1946
query3	6707	215	210	210
query4	31595	21265	21330	21265
query5	4278	404	389	389
query6	267	180	175	175
query7	4620	290	290	290
query8	237	175	183	175
query9	9526	2326	2347	2326
query10	565	259	264	259
query11	17120	14249	14206	14206
query12	134	93	98	93
query13	1631	415	423	415
query14	10161	7990	8001	7990
query15	258	190	189	189
query16	8213	266	262	262
query17	1987	574	551	551
query18	2119	300	287	287
query19	357	163	158	158
query20	96	90	88	88
query21	206	126	128	126
query22	4959	4812	4782	4782
query23	33561	32757	32211	32211
query24	11891	2863	2865	2863
query25	644	386	389	386
query26	1780	159	160	159
query27	3134	355	353	353
query28	7609	1886	1880	1880
query29	1034	645	637	637
query30	313	151	151	151
query31	962	713	721	713
query32	94	59	58	58
query33	771	253	257	253
query34	1113	503	478	478
query35	846	632	621	621
query36	1035	908	917	908
query37	266	68	67	67
query38	3560	3452	3431	3431
query39	1487	1461	1406	1406
query40	290	118	110	110
query41	52	48	48	48
query42	104	96	97	96
query43	484	454	450	450
query44	1122	736	737	736
query45	268	275	268	268
query46	1096	691	688	688
query47	1907	1833	1806	1806
query48	432	373	355	355
query49	1241	347	340	340
query50	758	380	375	375
query51	6599	6728	6539	6539
query52	98	89	98	89
query53	343	284	284	284
query54	326	251	241	241
query55	86	76	78	76
query56	252	228	232	228
query57	1218	1157	1140	1140
query58	237	213	211	211
query59	2888	2700	2747	2700
query60	270	242	249	242
query61	120	134	114	114
query62	627	415	427	415
query63	304	282	298	282
query64	6390	3939	3817	3817
query65	3128	3064	3026	3026
query66	1428	380	355	355
query67	15511	14869	14684	14684
query68	9208	522	532	522
query69	688	411	377	377
query70	1394	1183	1214	1183
query71	523	269	262	262
query72	6550	2495	2377	2377
query73	1595	323	316	316
query74	6911	6398	6301	6301
query75	3883	2231	2244	2231
query76	5746	911	914	911
query77	640	280	258	258
query78	11001	10157	10089	10089
query79	11669	539	546	539
query80	1691	381	385	381
query81	500	214	223	214
query82	233	87	89	87
query83	210	155	143	143
query84	294	80	81	80
query85	1092	321	311	311
query86	346	306	293	293
query87	3749	3567	3509	3509
query88	5371	2311	2308	2308
query89	486	400	379	379
query90	2049	180	184	180
query91	174	134	139	134
query92	62	49	49	49
query93	6372	501	487	487
query94	1331	183	183	183
query95	427	338	333	333
query96	592	271	266	266
query97	2675	2499	2467	2467
query98	234	224	217	217
query99	1031	798	850	798
Total cold run time: 318925 ms
Total hot run time: 181020 ms

@doris-robot
Copy link

Load test result on machine: 'aliyun_ecs.c7a.8xlarge_32C64G'

Load test result on commit 7b838a2cd56474c5aa288d2e968e25b42275a39e with default session variables
Stream load json:         19 seconds loaded 2358488459 Bytes, about 118 MB/s
Stream load orc:          58 seconds loaded 1101869774 Bytes, about 18 MB/s
Stream load parquet:      31 seconds loaded 861443392 Bytes, about 26 MB/s
Insert into select:       13.7 seconds inserted 10000000 Rows, about 729K ops/s

@github-actions github-actions bot added the approved Indicates a PR has been approved by one committer. label Mar 28, 2024
Copy link
Contributor

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

@jackwener jackwener merged commit 5970f98 into apache:master Mar 28, 2024
28 of 30 checks passed
@jackwener jackwener deleted the post branch March 28, 2024 06:48
Jibing-Li added a commit that referenced this pull request Mar 29, 2024
* [fix](merge cloud) Fix cloud be set be tag map (#32864)

* [chore] Add gavinchou to collaborators (#32881)

* [chore](show) support statement to show views from table (#32358)

MySQL [test]> show views;
+----------------+
| Tables_in_test |
+----------------+
| t1_view        |
| t2_view        |
+----------------+
2 rows in set (0.00 sec)

MySQL [test]> show views like '%t1%';
+----------------+
| Tables_in_test |
+----------------+
| t1_view        |
+----------------+
1 row in set (0.01 sec)

MySQL [test]> show views where create_time > '2024-03-18';
+----------------+
| Tables_in_test |
+----------------+
| t2_view        |
+----------------+
1 row in set (0.02 sec)

* [Enhancement](ranger) Disable some permission operations when Ranger or LDAP are enabled (#32538)

Disable some permission operations when Ranger or LDAP are enabled.

* [chore](ci) exclude unstable trino_connector case (#32892)

Co-authored-by: stephen <hello-stephen@qq.com>

* [fix](Nereids) NPE when create table with implicit index type (#32893)

* [improvement](mtmv) Support more join types for query rewriting by materialized view (#32685)

This pattern of rewriting is supported for multi-table joins and supported join types is as following:

INNER JOIN
LEFT OUTER JOIN
RIGHT OUTER JOIN
FULL OUTER JOIN
LEFT SEMI JOIN
RIGHT SEMI JOIN
LEFT ANTI JOIN
RIGHT ANTI JOIN

* [Serde](Variant) support arrow serialization for varint type (#32780)

* [fix](multicatalog) fix no data error when read hive table on cosn (#32815)

Currently, when reading a hive on cosn table, doris return empty result, but the table has data.
iceberg on cosn is ok.
The reason is misuse of cosn's file sytem. according to cosn's doc, its fs.cosn.impl should be org.apache.hadoop.fs.CosFileSystem

* [fix](nereids)EliminateGroupByConstant should replace agg's output after removing constant group by keys (#32878)

* [Fix](executor)Fix regression test for test_active_queries/test_backend_active_tasks #32899

* [fix](iceberg) fix iceberg catalog bug and p2 test cases (#32898)

1. Fix iceberg catalog bug

    This PR #30198 change the logic of `IcebergHMSExternalCatalog.java`,
    to get locationUrl by calling hive metastore's `getCatalog()` method.
    But this method only exists in hive 3+. So it will fail if we using hive 2.x.

    I temporary remove this logic, because this logic is only used from iceberg table writing.
    Which is still under development. We will rethink this logic later.

2. Fix test cases

    Some of P2 test cases missed `order_qt`. And because the output format of the floating point
    type is changed, some result in `out` files need to be regenerated.

* [revert](jni) revert part of #32455 (#32904)

* [fix](spill) Avoid releasing resources while spill tasks are executing (#32783)

* [chore](log) print query id before logging profile in be.INFO (#32922)

* [fix](grace-exit) Stop incorrectly of reportwork cause heap use after free #32929

* [improvement](decommission be) decommission check replica num (#32748)

* [fix](arrow-flight) Fix reach limit of connections error (#32911)

Fix Reach limit of connections error
in fe.conf , arrow_flight_token_cache_size is mandatory less than qe_max_connection/2. arrow flight sql is a stateless protocol, connection is usually not actively disconnected, bearer token is evict from the cache will unregister ConnectContext.

Fix ConnectContext.command not be reset to COM_SLEEP in time, this will result in frequent kill connection after query timeout.

Fix bearer token evict log and exception.

TODO: use arrow flight session: https://mail.google.com/mail/u/0/#inbox/FMfcgzGxRdxBLQLTcvvtRpqsvmhrHpdH

* [bugfix](cloud) few variable not initialized (#32868)

../../cloud/src/recycler/meta_checker.cpp
can cause uninitialised memory read.

* [fix](arrow-flight) Fix arrow flight sql compatible with JDK 17 and upgrade arrow 15.0.2 (#32796)

--add-opens=java.base/java.nio=ALL-UNNAMED, see: https://arrow.apache.org/docs/java/install.html#java-compatibility
groovy use flight sql connection to execute query SUM(MAX(c1) OVER (PARTITION BY)) report error: AGGREGATE clause must not contain analytic expressions, but no problem in Java execute it with jdbc::arrow-flight-sql.
groovy not support print arrow array type, throw IndexOutOfBoundsException.
"arrow_flight_sql" not support two phase read
./run-regression-test.sh --run --clean -g arrow_flight_sql

* [fix](spill) SpillStream's writer maybe may not have been finalized (#32931)

* [improvement](spill) Disable DistinctStreamingAgg when spill is enabled (#32932)

* [Improve](inverted_index) update clucene and improve array inverted index writer  (#32436)

* [Performance](exec) replace SipHash in function by XXHash (#32919)

* [feature](agg) add aggregate function sum0 (#32541)

* [improvement](mtmv) Support to get tables in materialized view when collecting table in plan (#32797)

Support to get tables in materialized view when collecting table in plan

table scehma as fllowing:

create materialized view mv1
BUILD IMMEDIATE REFRESH COMPLETE ON MANUAL
DISTRIBUTED BY RANDOM BUCKETS 1 
PROPERTIES ('replication_num' = '1')
 as 
select 
  t1.c1, 
  t3.c2 
from 
  table1 t1 
  inner join table3 t3 on t1.c1 = t3.c2

if get table from the plan as follwoing, we can get [table1, table3, table2], the mv1 is expanded to get base tables;

SELECT 
  mv1.*, 
  uuid() 
FROM 
  mv1 LEFT SEMI 
  JOIN table2 ON mv1.c1 = table2.c1 
WHERE 
  mv1.c1 IN (
    SELECT 
      c1 
    FROM 
      table2
  ) 
  OR mv1.c1 < 10

* [enhance](mtmv)support olap table partition column is null (#32698)

* [enhancement](cloud) add table version to cloud (#32738)

Add table version to cloud.

In Fe:
Get: If Fe is cloud mode, get table version from meta service.
Update: Op drop/replace temp partition, commit transaction.

In meta service:
Add: create Index. init value is 1.
Remove: by recycler.
Update: commit/drop partition rpc, commit txn rpc. Atomic++.

* [fix](cloud) schema change from not null to null (#32913)

1. Use equals instead of == for type comparing
2. null bitmap size is reisze by size of ref column.

* [feature](Nereids): add ColumnPruningPostProcessor. (#32800)

* [case](rowpolicy)fix row policy has been exist (#32880)

* [fix](pipeline) fix use error row desc when origin block clear (#32803)

* [fix](Nereids) support variant column with index when create table (#32948)

* [opt](Nereids) support create table with variant type (#32953)

* [test](insert-overwrite) Add insert overwrite auto detect concurrency cases (#32935)

* [fix](compile) fe cannot compile in idea (#32955)

* [enhancement](plsql) Support select * from routines (#32866)

Support show of plsql procedure using select * from routines.

* [fix](trino-connector) fix `NoClassDefFoundError` of hudi `Utils` class (#32846)

Due to the change of this PR #32455 , the `trino-connector-scanner` package cannot access the `hudi_scanner` package, so the exception NoclassDeffounderror will appear.

We need to write a separate Utils class.

* [exec](column) change some complex column move to noexcept (#32954)

* [Enhancement](data skew) extends show data skew (#32732)

* [chore](test) let suite compatible with Nereids (#32964)

* Support identical column name in different index. (#32792)

* Limit the max string length to 1024 while collecting column stats to control BE memory usage. (#32470)

* [fix](merge-iterator) fix NOT_IMPLEMENTED_ERROR when read next block view (#32961)

* [improvement](executor)Add tag property for workload group #32874

* [fix](auth)unified workload and resource permission logic (#32907)

- `Grant resource` can no longer grant global `usage_priv`
-  `grant resource %` instead of `grant resource *`

before change:
```
grant usage_priv on resource * to f;
show grants for f\G
*************************** 1. row ***************************
      UserIdentity: 'f'@'%'
           Comment: 
          Password: No
             Roles: 
       GlobalPrivs: Usage_priv 
      CatalogPrivs: NULL
     DatabasePrivs: internal.information_schema: Select_priv ; internal.mysql: Select_priv 
        TablePrivs: NULL
          ColPrivs: NULL
     ResourcePrivs: NULL
 CloudClusterPrivs: NULL
WorkloadGroupPrivs: normal: Usage_priv 
```
after change
```
grant usage_priv on resource '%' to f;
show grants for f\G
*************************** 1. row ***************************
      UserIdentity: 'f'@'%'
           Comment: 
          Password: No
             Roles: 
       GlobalPrivs: NULL
      CatalogPrivs: NULL
     DatabasePrivs: internal.information_schema: Select_priv ; internal.mysql: Select_priv 
        TablePrivs: NULL
          ColPrivs: NULL
     ResourcePrivs: %: Usage_priv 
 CloudClusterPrivs: NULL
WorkloadGroupPrivs: normal: Usage_priv 

```

---------

Co-authored-by: yujun <yu.jun.reach@gmail.com>
Co-authored-by: Gavin Chou <gavineaglechou@gmail.com>
Co-authored-by: xy720 <22125576+xy720@users.noreply.github.com>
Co-authored-by: yongjinhou <109586248+yongjinhou@users.noreply.github.com>
Co-authored-by: Dongyang Li <hello_stephen@qq.com>
Co-authored-by: stephen <hello-stephen@qq.com>
Co-authored-by: morrySnow <101034200+morrySnow@users.noreply.github.com>
Co-authored-by: seawinde <149132972+seawinde@users.noreply.github.com>
Co-authored-by: lihangyu <15605149486@163.com>
Co-authored-by: Yulei-Yang <yulei.yang0699@gmail.com>
Co-authored-by: starocean999 <40539150+starocean999@users.noreply.github.com>
Co-authored-by: wangbo <wangbo@apache.org>
Co-authored-by: Mingyu Chen <morningman@163.com>
Co-authored-by: Jerry Hu <mrhhsg@gmail.com>
Co-authored-by: zhiqiang <seuhezhiqiang@163.com>
Co-authored-by: Xinyi Zou <zouxinyi02@gmail.com>
Co-authored-by: Vallish Pai <vallishpai@gmail.com>
Co-authored-by: amory <wangqiannan@selectdb.com>
Co-authored-by: HappenLee <happenlee@hotmail.com>
Co-authored-by: Jensen <czjourney@163.com>
Co-authored-by: zhangdong <493738387@qq.com>
Co-authored-by: Yongqiang YANG <98214048+dataroaring@users.noreply.github.com>
Co-authored-by: jakevin <jakevingoo@gmail.com>
Co-authored-by: Mryange <59914473+Mryange@users.noreply.github.com>
Co-authored-by: zclllyybb <zhaochangle@selectdb.com>
Co-authored-by: Tiewei Fang <43782773+BePPPower@users.noreply.github.com>
Co-authored-by: Xin Liao <liaoxinbit@126.com>
@yiguolei yiguolei added the usercase Important user case type label label Apr 2, 2024
jackwener added a commit to jackwener/doris that referenced this pull request Apr 24, 2024
jackwener added a commit to jackwener/doris that referenced this pull request Apr 24, 2024
jackwener added a commit to jackwener/doris that referenced this pull request Apr 24, 2024
jackwener added a commit to jackwener/doris that referenced this pull request Apr 24, 2024
jackwener added a commit to jackwener/doris that referenced this pull request Apr 24, 2024
jackwener added a commit to jackwener/doris that referenced this pull request Apr 25, 2024
jackwener added a commit that referenced this pull request Apr 25, 2024
mongo360 pushed a commit to mongo360/doris that referenced this pull request Aug 16, 2024
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.10-merged reviewed usercase Important user case type label
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants