Skip to content

Conversation

@zy-kkk
Copy link
Member

@zy-kkk zy-kkk commented Jul 22, 2024

Catalog DDL

Doris > CREATE CATALOG `oracle` PROPERTIES (
    -> "user" = "doris_test",
    -> "type" = "jdbc",
    -> "password" = "xxx",
    -> "jdbc_url" = "jdbc:oracle:thin:@xxx:1521:XE",
    -> "driver_url" = "ojdbc8-19.3.0.0.jar",
    -> "driver_class" = "oracle.jdbc.driver.OracleDriver"
    -> ); 
Query OK, 0 rows affected (2.16 sec)

FE Conf lower_case_table_names = 1

Doris > show variables like '%lower_case%';
+------------------------+-------+---------------+---------+
| Variable_name          | Value | Default_Value | Changed |
+------------------------+-------+---------------+---------+
| lower_case_table_names | 1     | 0             | 1       |
+------------------------+-------+---------------+---------+
1 row in set (0.00 sec)

Doris > show tables from oracle.DORIS_TEST;
+----------------------+
| Tables_in_DORIS_TEST |
+----------------------+
| aa/d                 |
| aaad                 |
| lower_test           |
| student              |
| student2             |
| student3             |
| test_all_types       |
| test_char            |
| test_clob            |
| test_date            |
| test_insert          |
| test_int             |
| test_num             |
| test_number          |
| test_number2         |
| test_number3         |
| test_number4         |
| test_raw             |
| test_timestamp       |
+----------------------+
19 rows in set (0.01 sec)

Before:

Doris > select * from oracle.DORIS_TEST.test_int limit 1;
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| ID   | TINYINT_VALUE1 | SMALLINT_VALUE1 | INT_VALUE1 | BIGINT_VALUE1      | TINYINT_VALUE2 | SMALLINT_VALUE2 | INT_VALUE2 | BIGINT_VALUE2       |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| 1    |             99 |            9999 |  999999999 | 999999999999999999 |            999 |           99999 | 9999999999 | 9999999999999999999 |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
1 row in set (1.03 sec)

Doris > select * from oracle.DORIS_TEST.TEST_INT limit 1;
ERROR 1105 (HY000): errCode = 2, detailMessage = Table [TEST_INT] does not exist in database [DORIS_TEST].

After:

Doris > select * from oracle.DORIS_TEST.test_int limit 1;
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| ID   | TINYINT_VALUE1 | SMALLINT_VALUE1 | INT_VALUE1 | BIGINT_VALUE1      | TINYINT_VALUE2 | SMALLINT_VALUE2 | INT_VALUE2 | BIGINT_VALUE2       |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| 1    |             99 |            9999 |  999999999 | 999999999999999999 |            999 |           99999 | 9999999999 | 9999999999999999999 |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
1 row in set (0.20 sec)

Doris > select * from oracle.DORIS_TEST.TEST_INT limit 1;
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| ID   | TINYINT_VALUE1 | SMALLINT_VALUE1 | INT_VALUE1 | BIGINT_VALUE1      | TINYINT_VALUE2 | SMALLINT_VALUE2 | INT_VALUE2 | BIGINT_VALUE2       |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| 1    |             99 |            9999 |  999999999 | 999999999999999999 |            999 |           99999 | 9999999999 | 9999999999999999999 |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
1 row in set (0.20 sec)

FE Conf lower_case_table_names = 2

Doris > show variables like '%lower_case%';
+------------------------+-------+---------------+---------+
| Variable_name          | Value | Default_Value | Changed |
+------------------------+-------+---------------+---------+
| lower_case_table_names | 2     | 0             | 1       |
+------------------------+-------+---------------+---------+
1 row in set (0.01 sec)

Doris > show tables from oracle.DORIS_TEST;
+----------------------+
| Tables_in_DORIS_TEST |
+----------------------+
| AA/D                 |
| AAAD                 |
| LOWER_TEST           |
| STUDENT              |
| TEST_ALL_TYPES       |
| TEST_CHAR            |
| TEST_CLOB            |
| TEST_DATE            |
| TEST_INSERT          |
| TEST_INT             |
| TEST_NUM             |
| TEST_NUMBER          |
| TEST_NUMBER2         |
| TEST_NUMBER3         |
| TEST_NUMBER4         |
| TEST_RAW             |
| TEST_TIMESTAMP       |
| student2             |
| student3             |
+----------------------+
19 rows in set (1.05 sec)

Before:

Doris > select * from oracle.DORIS_TEST.test_int limit 1;
ERROR 1105 (HY000): errCode = 2, detailMessage = Table [test_int] does not exist in database [DORIS_TEST].
Doris > select * from oracle.DORIS_TEST.TEST_INT limit 1;
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| ID   | TINYINT_VALUE1 | SMALLINT_VALUE1 | INT_VALUE1 | BIGINT_VALUE1      | TINYINT_VALUE2 | SMALLINT_VALUE2 | INT_VALUE2 | BIGINT_VALUE2       |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| 1    |             99 |            9999 |  999999999 | 999999999999999999 |            999 |           99999 | 9999999999 | 9999999999999999999 |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
1 row in set (1.07 sec)

After:

Doris > select * from oracle.DORIS_TEST.test_int limit 1;
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| ID   | TINYINT_VALUE1 | SMALLINT_VALUE1 | INT_VALUE1 | BIGINT_VALUE1      | TINYINT_VALUE2 | SMALLINT_VALUE2 | INT_VALUE2 | BIGINT_VALUE2       |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| 1    |             99 |            9999 |  999999999 | 999999999999999999 |            999 |           99999 | 9999999999 | 9999999999999999999 |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
1 row in set (0.21 sec)

Doris > select * from oracle.DORIS_TEST.TEST_INT limit 1;
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| ID   | TINYINT_VALUE1 | SMALLINT_VALUE1 | INT_VALUE1 | BIGINT_VALUE1      | TINYINT_VALUE2 | SMALLINT_VALUE2 | INT_VALUE2 | BIGINT_VALUE2       |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| 1    |             99 |            9999 |  999999999 | 999999999999999999 |            999 |           99999 | 9999999999 | 9999999999999999999 |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
1 row in set (0.20 sec)

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

@zy-kkk zy-kkk added dev/2.0.x dev/2.1.x usercase Important user case type label labels Jul 22, 2024
@zy-kkk zy-kkk force-pushed the fix_external_lower_case branch from e4c06ae to ed93884 Compare July 23, 2024 09:30
@zy-kkk zy-kkk marked this pull request as draft August 6, 2024 08:59
@zy-kkk zy-kkk force-pushed the fix_external_lower_case branch from ed93884 to e665902 Compare September 5, 2024 10:16
@zy-kkk zy-kkk marked this pull request as ready for review September 5, 2024 10:16
@zy-kkk
Copy link
Member Author

zy-kkk commented Sep 5, 2024

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17633	4394	4282	4282
q2	2026	190	188	188
q3	10545	1160	1129	1129
q4	10769	734	737	734
q5	8267	2911	2841	2841
q6	231	142	140	140
q7	983	620	600	600
q8	9677	2094	2106	2094
q9	7312	6533	6552	6533
q10	7001	2243	2200	2200
q11	448	247	243	243
q12	399	226	227	226
q13	17762	3074	3053	3053
q14	271	236	241	236
q15	544	484	486	484
q16	576	496	489	489
q17	971	734	629	629
q18	7422	6765	6857	6765
q19	1398	1003	1068	1003
q20	674	336	337	336
q21	4272	3090	2815	2815
q22	1103	1019	993	993
Total cold run time: 110284 ms
Total hot run time: 38013 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4322	4254	4275	4254
q2	387	275	275	275
q3	2887	2677	2668	2668
q4	1927	1648	1653	1648
q5	5407	5384	5401	5384
q6	219	133	131	131
q7	2147	1745	1779	1745
q8	3169	3308	3361	3308
q9	8417	8413	8414	8413
q10	3443	3231	3182	3182
q11	622	518	509	509
q12	796	623	608	608
q13	11004	3087	3121	3087
q14	297	278	280	278
q15	532	481	487	481
q16	627	570	562	562
q17	1789	1491	1481	1481
q18	7753	7545	7640	7545
q19	1649	1592	1567	1567
q20	2047	1830	1803	1803
q21	5395	5280	5203	5203
q22	1127	1045	1019	1019
Total cold run time: 65963 ms
Total hot run time: 55151 ms

@doris-robot
Copy link

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

query1	926	377	386	377
query2	6469	1905	1932	1905
query3	6657	208	214	208
query4	34263	23336	23243	23243
query5	4150	523	502	502
query6	255	168	167	167
query7	4574	297	305	297
query8	272	224	212	212
query9	8573	2493	2493	2493
query10	434	275	303	275
query11	16711	15026	15096	15026
query12	146	100	98	98
query13	1623	399	380	380
query14	9543	7387	7264	7264
query15	260	167	180	167
query16	8030	445	467	445
query17	1599	559	537	537
query18	2106	289	279	279
query19	277	145	148	145
query20	120	107	109	107
query21	210	109	110	109
query22	4282	4109	4073	4073
query23	34177	33575	33473	33473
query24	11232	2949	2935	2935
query25	606	399	394	394
query26	1212	159	162	159
query27	2303	284	286	284
query28	7282	2063	2074	2063
query29	858	416	417	416
query30	310	158	153	153
query31	974	751	792	751
query32	98	59	60	59
query33	755	288	284	284
query34	999	482	498	482
query35	854	730	706	706
query36	1104	943	968	943
query37	158	90	87	87
query38	3971	3941	3904	3904
query39	1453	1409	1438	1409
query40	199	121	116	116
query41	51	47	46	46
query42	121	97	103	97
query43	512	459	459	459
query44	1216	775	756	756
query45	205	168	174	168
query46	1111	774	804	774
query47	1884	1759	1805	1759
query48	385	312	314	312
query49	1153	456	464	456
query50	834	431	419	419
query51	7079	6871	6915	6871
query52	107	93	90	90
query53	276	203	194	194
query54	921	466	480	466
query55	80	77	79	77
query56	300	281	293	281
query57	1223	1103	1073	1073
query58	248	252	265	252
query59	3035	2908	2721	2721
query60	311	288	290	288
query61	129	125	127	125
query62	843	657	679	657
query63	234	203	192	192
query64	4374	704	664	664
query65	3276	3186	3155	3155
query66	1455	391	343	343
query67	15515	15291	15308	15291
query68	4076	596	570	570
query69	421	294	290	290
query70	1134	1158	1099	1099
query71	352	296	287	287
query72	6613	4193	4035	4035
query73	785	332	333	332
query74	9158	8820	8974	8820
query75	3409	2722	2670	2670
query76	2505	1030	988	988
query77	502	311	318	311
query78	9713	9063	9082	9063
query79	1045	560	541	541
query80	742	536	528	528
query81	555	293	238	238
query82	244	150	146	146
query83	180	160	159	159
query84	235	82	81	81
query85	919	294	291	291
query86	313	308	293	293
query87	4423	4230	4231	4230
query88	2991	2396	2376	2376
query89	378	290	295	290
query90	1886	193	197	193
query91	130	106	105	105
query92	66	51	51	51
query93	1070	553	539	539
query94	800	296	302	296
query95	354	262	260	260
query96	612	276	277	276
query97	3150	3107	3042	3042
query98	216	197	257	197
query99	1469	1306	1266	1266
Total cold run time: 287349 ms
Total hot run time: 188776 ms

@doris-robot
Copy link

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

query1	0.04	0.05	0.04
query2	0.09	0.04	0.04
query3	0.22	0.05	0.05
query4	1.66	0.08	0.08
query5	0.51	0.49	0.49
query6	1.13	0.73	0.72
query7	0.02	0.01	0.01
query8	0.05	0.04	0.04
query9	0.54	0.48	0.50
query10	0.55	0.58	0.54
query11	0.15	0.12	0.11
query12	0.15	0.12	0.12
query13	0.60	0.58	0.59
query14	2.03	2.06	2.05
query15	0.83	0.82	0.83
query16	0.36	0.37	0.37
query17	1.03	0.99	0.97
query18	0.21	0.21	0.22
query19	1.85	1.78	1.73
query20	0.01	0.01	0.02
query21	15.43	0.68	0.66
query22	4.58	7.17	2.02
query23	18.33	1.30	1.34
query24	2.08	0.24	0.21
query25	0.15	0.08	0.08
query26	0.27	0.18	0.18
query27	0.08	0.08	0.08
query28	13.27	1.02	1.00
query29	12.61	3.36	3.29
query30	0.24	0.06	0.05
query31	2.89	0.40	0.39
query32	3.24	0.49	0.48
query33	2.94	3.03	3.01
query34	17.10	4.40	4.43
query35	4.40	4.46	4.45
query36	0.66	0.49	0.46
query37	0.18	0.16	0.15
query38	0.17	0.14	0.15
query39	0.05	0.04	0.04
query40	0.16	0.12	0.13
query41	0.10	0.04	0.04
query42	0.06	0.04	0.05
query43	0.05	0.04	0.03
Total cold run time: 111.07 s
Total hot run time: 32.08 s

morningman
morningman previously approved these changes Sep 18, 2024
Copy link
Contributor

@morningman morningman left a comment

Choose a reason for hiding this comment

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

LGTM

@morningman morningman force-pushed the fix_external_lower_case branch from e665902 to b8d4f04 Compare September 18, 2024 07:02
@morningman
Copy link
Contributor

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17605	7400	7308	7308
q2	2045	161	159	159
q3	10572	1047	1157	1047
q4	10220	722	737	722
q5	7743	3059	3041	3041
q6	236	152	150	150
q7	1016	616	596	596
q8	9419	2030	2040	2030
q9	6819	6385	6360	6360
q10	7004	2334	2326	2326
q11	438	246	253	246
q12	408	228	219	219
q13	17770	2986	3008	2986
q14	231	216	231	216
q15	561	504	518	504
q16	686	599	612	599
q17	991	812	821	812
q18	7279	6551	6712	6551
q19	1404	1027	1039	1027
q20	578	295	269	269
q21	4097	3213	3116	3116
q22	1135	1016	1006	1006
Total cold run time: 108257 ms
Total hot run time: 41290 ms

----- Round 2, with runtime_filter_mode=off -----
q1	7231	7279	7223	7223
q2	325	233	215	215
q3	2926	2934	3033	2934
q4	2037	1821	1816	1816
q5	5641	5606	5597	5597
q6	242	148	145	145
q7	2261	1814	1769	1769
q8	3274	3401	3416	3401
q9	8782	8898	8884	8884
q10	3609	3463	3555	3463
q11	601	482	496	482
q12	831	650	653	650
q13	10883	3192	3142	3142
q14	294	277	291	277
q15	581	564	530	530
q16	750	677	673	673
q17	1788	1597	1605	1597
q18	8135	7748	7927	7748
q19	1721	1640	1535	1535
q20	2134	1928	1884	1884
q21	5753	5279	5469	5279
q22	1177	1058	1041	1041
Total cold run time: 70976 ms
Total hot run time: 60285 ms

@doris-robot
Copy link

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

query1	1281	874	863	863
query2	6236	1996	2007	1996
query3	10806	4008	3962	3962
query4	64049	29591	23653	23653
query5	5067	475	463	463
query6	406	175	166	166
query7	5471	288	295	288
query8	301	217	214	214
query9	8428	2675	2675	2675
query10	436	274	277	274
query11	17508	15149	15669	15149
query12	163	110	105	105
query13	1496	427	428	427
query14	10663	7731	6732	6732
query15	226	186	179	179
query16	6820	467	500	467
query17	1191	590	585	585
query18	879	316	313	313
query19	243	148	146	146
query20	124	111	109	109
query21	219	105	112	105
query22	4850	4445	4781	4445
query23	34772	33857	33994	33857
query24	6097	2849	2848	2848
query25	514	410	385	385
query26	681	168	166	166
query27	1695	280	282	280
query28	4171	2477	2425	2425
query29	637	407	405	405
query30	228	154	156	154
query31	945	726	813	726
query32	75	56	56	56
query33	395	283	292	283
query34	911	498	473	473
query35	858	716	732	716
query36	1054	944	934	934
query37	141	86	81	81
query38	4013	3966	4012	3966
query39	1479	1379	1383	1379
query40	211	91	89	89
query41	47	49	77	49
query42	113	96	97	96
query43	511	483	485	483
query44	1156	822	792	792
query45	195	159	160	159
query46	1124	769	747	747
query47	1876	1797	1855	1797
query48	462	368	358	358
query49	682	382	397	382
query50	821	405	418	405
query51	7062	6930	6931	6930
query52	101	86	83	83
query53	247	179	179	179
query54	574	467	455	455
query55	75	76	78	76
query56	281	243	253	243
query57	1269	1099	1075	1075
query58	227	221	224	221
query59	3076	2933	2848	2848
query60	292	270	284	270
query61	108	100	102	100
query62	766	647	642	642
query63	215	183	182	182
query64	1419	655	692	655
query65	3266	3211	3196	3196
query66	681	295	320	295
query67	15924	15559	15518	15518
query68	1231	873	863	863
query69	429	349	354	349
query70	1185	1186	1219	1186
query71	356	344	347	344
query72	4722	3441	3409	3409
query73	592	589	588	588
query74	9059	9087	8909	8909
query75	2988	2899	2979	2899
query76	954	864	874	864
query77	429	371	368	368
query78	9892	9303	9310	9303
query79	924	883	881	881
query80	583	577	585	577
query81	462	250	253	250
query82	232	233	231	231
query83	160	155	158	155
query84	209	106	104	104
query85	658	381	390	381
query86	320	301	314	301
query87	4381	4533	4439	4439
query88	4290	4125	4136	4125
query89	370	369	370	369
query90	1161	315	319	315
query91	176	179	179	179
query92	76	75	79	75
query93	922	918	903	903
query94	512	467	413	413
query95	420	419	418	418
query96	493	482	489	482
query97	3169	3102	3102	3102
query98	238	225	229	225
query99	1337	1298	1320	1298
Total cold run time: 301240 ms
Total hot run time: 199080 ms

@doris-robot
Copy link

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

query1	0.05	0.05	0.04
query2	0.06	0.03	0.03
query3	0.24	0.07	0.06
query4	1.64	0.10	0.09
query5	0.53	0.51	0.50
query6	1.16	0.73	0.73
query7	0.01	0.01	0.01
query8	0.04	0.02	0.03
query9	0.56	0.50	0.48
query10	0.55	0.57	0.53
query11	0.16	0.10	0.11
query12	0.14	0.10	0.10
query13	0.60	0.60	0.60
query14	2.98	2.94	3.09
query15	0.89	0.81	0.82
query16	0.38	0.36	0.37
query17	1.06	1.02	0.97
query18	0.20	0.19	0.20
query19	1.95	1.91	1.93
query20	0.02	0.01	0.01
query21	15.35	0.60	0.60
query22	2.35	2.02	2.26
query23	17.21	0.80	0.82
query24	2.53	0.22	0.89
query25	0.19	0.07	0.06
query26	0.37	0.14	0.14
query27	0.04	0.04	0.05
query28	11.79	1.09	1.06
query29	12.59	3.33	3.32
query30	0.24	0.06	0.06
query31	2.88	0.38	0.38
query32	3.25	0.45	0.47
query33	2.95	3.01	3.03
query34	17.11	4.43	4.40
query35	4.41	4.35	4.39
query36	0.67	0.50	0.51
query37	0.09	0.06	0.06
query38	0.05	0.04	0.03
query39	0.03	0.02	0.02
query40	0.16	0.13	0.12
query41	0.08	0.02	0.02
query42	0.03	0.02	0.02
query43	0.03	0.03	0.03
Total cold run time: 107.62 s
Total hot run time: 32.19 s

protected Map<String, Long> tableNameToId = Maps.newConcurrentMap();
@SerializedName(value = "idToTbl")
protected Map<Long, T> idToTbl = Maps.newConcurrentMap();
// table name lower cast -> table name
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
// table name lower cast -> table name
// table name lower case -> table name

Copy link
Contributor

Choose a reason for hiding this comment

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

same issue in Database.java

switchTest();
useDatabase("db1");
getSqlStmtExecutor("show tables");
String sql1 = "explain select /*+ SET_VAR(enable_nereids_planner=false) */ * from table1";
Copy link
Contributor

Choose a reason for hiding this comment

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

Why using false

@github-actions
Copy link
Contributor

github-actions bot commented Oct 8, 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 Oct 8, 2024
@github-actions
Copy link
Contributor

github-actions bot commented Oct 8, 2024

PR approved by anyone and no changes requested.

@zy-kkk zy-kkk force-pushed the fix_external_lower_case branch from b8d4f04 to 1bb7cf9 Compare October 8, 2024 08:58
@github-actions github-actions bot removed the approved Indicates a PR has been approved by one committer. label Oct 8, 2024
Copy link
Contributor

@morningman morningman left a comment

Choose a reason for hiding this comment

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

LGTM

@morningman
Copy link
Contributor

run buildall

@github-actions
Copy link
Contributor

github-actions bot commented Oct 9, 2024

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 Oct 9, 2024
@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17597	7413	7267	7267
q2	2013	303	278	278
q3	12182	1103	1231	1103
q4	10576	748	713	713
q5	7772	2904	2864	2864
q6	237	150	148	148
q7	1031	644	613	613
q8	9356	1933	1992	1933
q9	6634	6501	6470	6470
q10	6995	2323	2347	2323
q11	437	260	260	260
q12	412	223	222	222
q13	17773	2986	2997	2986
q14	240	215	209	209
q15	570	518	521	518
q16	642	585	591	585
q17	985	575	534	534
q18	7314	6668	6737	6668
q19	1367	1092	1062	1062
q20	472	213	204	204
q21	4114	3304	3291	3291
q22	1130	1000	1003	1000
Total cold run time: 109849 ms
Total hot run time: 41251 ms

----- Round 2, with runtime_filter_mode=off -----
q1	7278	7215	7164	7164
q2	338	233	221	221
q3	3087	3002	2918	2918
q4	2129	1872	1822	1822
q5	5806	5783	5777	5777
q6	232	143	143	143
q7	2263	1847	1796	1796
q8	3401	3487	3537	3487
q9	8942	8966	8921	8921
q10	3606	3540	3542	3540
q11	591	480	478	478
q12	844	618	592	592
q13	8639	3227	3267	3227
q14	304	273	267	267
q15	573	514	543	514
q16	695	646	642	642
q17	1852	1642	1615	1615
q18	8349	7732	7544	7544
q19	1745	1627	1468	1468
q20	2098	1888	1882	1882
q21	5619	5455	5449	5449
q22	1190	1063	1081	1063
Total cold run time: 69581 ms
Total hot run time: 60530 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 191758 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 1bb7cf9afa85d002b0db0bfe17ac3f1198bf45d4, data reload: false

query1	920	396	391	391
query2	6271	2075	2014	2014
query3	8682	197	203	197
query4	34291	23472	23545	23472
query5	3416	472	467	467
query6	270	166	161	161
query7	4193	313	310	310
query8	278	214	211	211
query9	9527	2697	2687	2687
query10	443	278	275	275
query11	17842	15290	15091	15091
query12	147	99	98	98
query13	1587	459	460	459
query14	8438	7743	7116	7116
query15	247	170	177	170
query16	7974	461	475	461
query17	1653	601	587	587
query18	2181	352	317	317
query19	269	157	166	157
query20	121	112	121	112
query21	207	101	105	101
query22	4622	4643	4371	4371
query23	35106	34469	33915	33915
query24	11044	2833	2862	2833
query25	629	406	406	406
query26	1263	164	167	164
query27	2687	304	303	303
query28	7686	2431	2431	2431
query29	841	441	442	441
query30	252	152	164	152
query31	1027	800	793	793
query32	96	52	55	52
query33	768	294	294	294
query34	919	536	527	527
query35	884	743	717	717
query36	1110	925	949	925
query37	154	93	88	88
query38	4018	3928	3879	3879
query39	1492	1420	1421	1420
query40	243	97	98	97
query41	48	46	43	43
query42	112	96	95	95
query43	512	501	460	460
query44	1223	823	830	823
query45	201	168	164	164
query46	1165	719	723	719
query47	1930	1860	1840	1840
query48	442	359	349	349
query49	941	406	418	406
query50	821	420	410	410
query51	7154	7121	6974	6974
query52	99	90	89	89
query53	258	181	193	181
query54	1247	481	484	481
query55	85	79	83	79
query56	296	270	277	270
query57	1267	1164	1124	1124
query58	235	234	262	234
query59	3149	2962	2984	2962
query60	296	271	275	271
query61	106	102	103	102
query62	858	654	673	654
query63	212	186	180	180
query64	4023	651	626	626
query65	3271	3191	3223	3191
query66	888	288	329	288
query67	15759	15686	15537	15537
query68	4047	576	584	576
query69	513	297	294	294
query70	1144	1143	1116	1116
query71	366	278	277	277
query72	7394	3975	3965	3965
query73	773	352	358	352
query74	10092	9002	9026	9002
query75	3379	2693	2619	2619
query76	3134	955	928	928
query77	611	286	286	286
query78	10490	9577	9519	9519
query79	1514	589	613	589
query80	1115	456	460	456
query81	580	237	240	237
query82	696	147	142	142
query83	297	147	135	135
query84	275	76	74	74
query85	1428	306	287	287
query86	398	289	295	289
query87	4468	4480	4396	4396
query88	3598	2437	2516	2437
query89	409	285	282	282
query90	1895	188	186	186
query91	140	105	119	105
query92	63	47	48	47
query93	1091	537	537	537
query94	998	291	289	289
query95	348	252	254	252
query96	604	286	289	286
query97	3223	3111	3155	3111
query98	216	200	195	195
query99	1586	1288	1278	1278
Total cold run time: 297281 ms
Total hot run time: 191758 ms

@doris-robot
Copy link

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

query1	0.05	0.04	0.05
query2	0.06	0.02	0.03
query3	0.24	0.07	0.06
query4	1.64	0.10	0.10
query5	0.52	0.50	0.50
query6	1.13	0.72	0.73
query7	0.02	0.02	0.01
query8	0.05	0.03	0.03
query9	0.56	0.49	0.49
query10	0.55	0.58	0.54
query11	0.14	0.10	0.11
query12	0.14	0.11	0.12
query13	0.61	0.60	0.60
query14	2.78	2.76	2.68
query15	0.90	0.83	0.82
query16	0.39	0.40	0.38
query17	1.06	1.09	1.06
query18	0.20	0.19	0.19
query19	1.95	1.83	1.99
query20	0.01	0.00	0.00
query21	15.36	0.57	0.59
query22	2.63	2.15	1.99
query23	16.82	0.95	0.86
query24	3.39	1.48	1.09
query25	0.25	0.28	0.09
query26	0.48	0.13	0.13
query27	0.03	0.04	0.04
query28	10.26	1.10	1.06
query29	12.57	3.31	3.37
query30	0.24	0.06	0.06
query31	2.87	0.38	0.38
query32	3.30	0.47	0.45
query33	2.99	3.00	3.05
query34	16.96	4.49	4.51
query35	4.50	4.58	4.56
query36	0.67	0.51	0.49
query37	0.09	0.05	0.06
query38	0.04	0.04	0.03
query39	0.03	0.02	0.02
query40	0.15	0.12	0.12
query41	0.07	0.02	0.02
query42	0.04	0.02	0.02
query43	0.04	0.03	0.02
Total cold run time: 106.78 s
Total hot run time: 33.13 s

Copy link
Contributor

@morningman morningman left a comment

Choose a reason for hiding this comment

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

LGTM

@morningman morningman merged commit 90e51f6 into apache:master Oct 21, 2024
@zy-kkk zy-kkk deleted the fix_external_lower_case branch October 22, 2024 09:45
zy-kkk added a commit to zy-kkk/doris that referenced this pull request Oct 22, 2024
…es (apache#38227)

```
Doris > CREATE CATALOG `oracle` PROPERTIES (
    -> "user" = "doris_test",
    -> "type" = "jdbc",
    -> "password" = "xxx",
    -> "jdbc_url" = "jdbc:oracle:thin:@xxx:1521:XE",
    -> "driver_url" = "ojdbc8-19.3.0.0.jar",
    -> "driver_class" = "oracle.jdbc.driver.OracleDriver"
    -> );
Query OK, 0 rows affected (2.16 sec)
```

```
Doris > show variables like '%lower_case%';
+------------------------+-------+---------------+---------+
| Variable_name          | Value | Default_Value | Changed |
+------------------------+-------+---------------+---------+
| lower_case_table_names | 1     | 0             | 1       |
+------------------------+-------+---------------+---------+
1 row in set (0.00 sec)

Doris > show tables from oracle.DORIS_TEST;
+----------------------+
| Tables_in_DORIS_TEST |
+----------------------+
| aa/d                 |
| aaad                 |
| lower_test           |
| student              |
| student2             |
| student3             |
| test_all_types       |
| test_char            |
| test_clob            |
| test_date            |
| test_insert          |
| test_int             |
| test_num             |
| test_number          |
| test_number2         |
| test_number3         |
| test_number4         |
| test_raw             |
| test_timestamp       |
+----------------------+
19 rows in set (0.01 sec)

```

```
Doris > select * from oracle.DORIS_TEST.test_int limit 1;
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| ID   | TINYINT_VALUE1 | SMALLINT_VALUE1 | INT_VALUE1 | BIGINT_VALUE1      | TINYINT_VALUE2 | SMALLINT_VALUE2 | INT_VALUE2 | BIGINT_VALUE2       |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| 1    |             99 |            9999 |  999999999 | 999999999999999999 |            999 |           99999 | 9999999999 | 9999999999999999999 |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
1 row in set (1.03 sec)

Doris > select * from oracle.DORIS_TEST.TEST_INT limit 1;
ERROR 1105 (HY000): errCode = 2, detailMessage = Table [TEST_INT] does not exist in database [DORIS_TEST].

```

```
Doris > select * from oracle.DORIS_TEST.test_int limit 1;
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| ID   | TINYINT_VALUE1 | SMALLINT_VALUE1 | INT_VALUE1 | BIGINT_VALUE1      | TINYINT_VALUE2 | SMALLINT_VALUE2 | INT_VALUE2 | BIGINT_VALUE2       |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| 1    |             99 |            9999 |  999999999 | 999999999999999999 |            999 |           99999 | 9999999999 | 9999999999999999999 |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
1 row in set (0.20 sec)

Doris > select * from oracle.DORIS_TEST.TEST_INT limit 1;
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| ID   | TINYINT_VALUE1 | SMALLINT_VALUE1 | INT_VALUE1 | BIGINT_VALUE1      | TINYINT_VALUE2 | SMALLINT_VALUE2 | INT_VALUE2 | BIGINT_VALUE2       |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| 1    |             99 |            9999 |  999999999 | 999999999999999999 |            999 |           99999 | 9999999999 | 9999999999999999999 |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
1 row in set (0.20 sec)
```

```
Doris > show variables like '%lower_case%';
+------------------------+-------+---------------+---------+
| Variable_name          | Value | Default_Value | Changed |
+------------------------+-------+---------------+---------+
| lower_case_table_names | 2     | 0             | 1       |
+------------------------+-------+---------------+---------+
1 row in set (0.01 sec)

Doris > show tables from oracle.DORIS_TEST;
+----------------------+
| Tables_in_DORIS_TEST |
+----------------------+
| AA/D                 |
| AAAD                 |
| LOWER_TEST           |
| STUDENT              |
| TEST_ALL_TYPES       |
| TEST_CHAR            |
| TEST_CLOB            |
| TEST_DATE            |
| TEST_INSERT          |
| TEST_INT             |
| TEST_NUM             |
| TEST_NUMBER          |
| TEST_NUMBER2         |
| TEST_NUMBER3         |
| TEST_NUMBER4         |
| TEST_RAW             |
| TEST_TIMESTAMP       |
| student2             |
| student3             |
+----------------------+
19 rows in set (1.05 sec)
```

```
Doris > select * from oracle.DORIS_TEST.test_int limit 1;
ERROR 1105 (HY000): errCode = 2, detailMessage = Table [test_int] does not exist in database [DORIS_TEST].
Doris > select * from oracle.DORIS_TEST.TEST_INT limit 1;
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| ID   | TINYINT_VALUE1 | SMALLINT_VALUE1 | INT_VALUE1 | BIGINT_VALUE1      | TINYINT_VALUE2 | SMALLINT_VALUE2 | INT_VALUE2 | BIGINT_VALUE2       |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| 1    |             99 |            9999 |  999999999 | 999999999999999999 |            999 |           99999 | 9999999999 | 9999999999999999999 |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
1 row in set (1.07 sec)
```

```
Doris > select * from oracle.DORIS_TEST.test_int limit 1;
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| ID   | TINYINT_VALUE1 | SMALLINT_VALUE1 | INT_VALUE1 | BIGINT_VALUE1      | TINYINT_VALUE2 | SMALLINT_VALUE2 | INT_VALUE2 | BIGINT_VALUE2       |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| 1    |             99 |            9999 |  999999999 | 999999999999999999 |            999 |           99999 | 9999999999 | 9999999999999999999 |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
1 row in set (0.21 sec)

Doris > select * from oracle.DORIS_TEST.TEST_INT limit 1;
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| ID   | TINYINT_VALUE1 | SMALLINT_VALUE1 | INT_VALUE1 | BIGINT_VALUE1      | TINYINT_VALUE2 | SMALLINT_VALUE2 | INT_VALUE2 | BIGINT_VALUE2       |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| 1    |             99 |            9999 |  999999999 | 999999999999999999 |            999 |           99999 | 9999999999 | 9999999999999999999 |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
1 row in set (0.20 sec)
```
morningman pushed a commit that referenced this pull request Oct 22, 2024
…l rules (#42259)

pick (#38227)

```
Doris > CREATE CATALOG `oracle` PROPERTIES (
    -> "user" = "doris_test",
    -> "type" = "jdbc",
    -> "password" = "xxx",
    -> "jdbc_url" = "jdbc:oracle:thin:@xxx:1521:XE",
    -> "driver_url" = "ojdbc8-19.3.0.0.jar",
    -> "driver_class" = "oracle.jdbc.driver.OracleDriver"
    -> );
Query OK, 0 rows affected (2.16 sec)
```

```
Doris > show variables like '%lower_case%';
+------------------------+-------+---------------+---------+
| Variable_name          | Value | Default_Value | Changed |
+------------------------+-------+---------------+---------+
| lower_case_table_names | 1     | 0             | 1       |
+------------------------+-------+---------------+---------+
1 row in set (0.00 sec)

Doris > show tables from oracle.DORIS_TEST;
+----------------------+
| Tables_in_DORIS_TEST |
+----------------------+
| aa/d                 |
| aaad                 |
| lower_test           |
| student              |
| student2             |
| student3             |
| test_all_types       |
| test_char            |
| test_clob            |
| test_date            |
| test_insert          |
| test_int             |
| test_num             |
| test_number          |
| test_number2         |
| test_number3         |
| test_number4         |
| test_raw             |
| test_timestamp       |
+----------------------+
19 rows in set (0.01 sec)

```

```
Doris > select * from oracle.DORIS_TEST.test_int limit 1;
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| ID   | TINYINT_VALUE1 | SMALLINT_VALUE1 | INT_VALUE1 | BIGINT_VALUE1      | TINYINT_VALUE2 | SMALLINT_VALUE2 | INT_VALUE2 | BIGINT_VALUE2       |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| 1    |             99 |            9999 |  999999999 | 999999999999999999 |            999 |           99999 | 9999999999 | 9999999999999999999 |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
1 row in set (1.03 sec)

Doris > select * from oracle.DORIS_TEST.TEST_INT limit 1;
ERROR 1105 (HY000): errCode = 2, detailMessage = Table [TEST_INT] does not exist in database [DORIS_TEST].

```

```
Doris > select * from oracle.DORIS_TEST.test_int limit 1;
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| ID   | TINYINT_VALUE1 | SMALLINT_VALUE1 | INT_VALUE1 | BIGINT_VALUE1      | TINYINT_VALUE2 | SMALLINT_VALUE2 | INT_VALUE2 | BIGINT_VALUE2       |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| 1    |             99 |            9999 |  999999999 | 999999999999999999 |            999 |           99999 | 9999999999 | 9999999999999999999 |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
1 row in set (0.20 sec)

Doris > select * from oracle.DORIS_TEST.TEST_INT limit 1;
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| ID   | TINYINT_VALUE1 | SMALLINT_VALUE1 | INT_VALUE1 | BIGINT_VALUE1      | TINYINT_VALUE2 | SMALLINT_VALUE2 | INT_VALUE2 | BIGINT_VALUE2       |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| 1    |             99 |            9999 |  999999999 | 999999999999999999 |            999 |           99999 | 9999999999 | 9999999999999999999 |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
1 row in set (0.20 sec)
```

```
Doris > show variables like '%lower_case%';
+------------------------+-------+---------------+---------+
| Variable_name          | Value | Default_Value | Changed |
+------------------------+-------+---------------+---------+
| lower_case_table_names | 2     | 0             | 1       |
+------------------------+-------+---------------+---------+
1 row in set (0.01 sec)

Doris > show tables from oracle.DORIS_TEST;
+----------------------+
| Tables_in_DORIS_TEST |
+----------------------+
| AA/D                 |
| AAAD                 |
| LOWER_TEST           |
| STUDENT              |
| TEST_ALL_TYPES       |
| TEST_CHAR            |
| TEST_CLOB            |
| TEST_DATE            |
| TEST_INSERT          |
| TEST_INT             |
| TEST_NUM             |
| TEST_NUMBER          |
| TEST_NUMBER2         |
| TEST_NUMBER3         |
| TEST_NUMBER4         |
| TEST_RAW             |
| TEST_TIMESTAMP       |
| student2             |
| student3             |
+----------------------+
19 rows in set (1.05 sec)
```

```
Doris > select * from oracle.DORIS_TEST.test_int limit 1;
ERROR 1105 (HY000): errCode = 2, detailMessage = Table [test_int] does not exist in database [DORIS_TEST].
Doris > select * from oracle.DORIS_TEST.TEST_INT limit 1;
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| ID   | TINYINT_VALUE1 | SMALLINT_VALUE1 | INT_VALUE1 | BIGINT_VALUE1      | TINYINT_VALUE2 | SMALLINT_VALUE2 | INT_VALUE2 | BIGINT_VALUE2       |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| 1    |             99 |            9999 |  999999999 | 999999999999999999 |            999 |           99999 | 9999999999 | 9999999999999999999 |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
1 row in set (1.07 sec)
```

```
Doris > select * from oracle.DORIS_TEST.test_int limit 1;
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| ID   | TINYINT_VALUE1 | SMALLINT_VALUE1 | INT_VALUE1 | BIGINT_VALUE1      | TINYINT_VALUE2 | SMALLINT_VALUE2 | INT_VALUE2 | BIGINT_VALUE2       |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| 1    |             99 |            9999 |  999999999 | 999999999999999999 |            999 |           99999 | 9999999999 | 9999999999999999999 |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
1 row in set (0.21 sec)

Doris > select * from oracle.DORIS_TEST.TEST_INT limit 1;
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| ID   | TINYINT_VALUE1 | SMALLINT_VALUE1 | INT_VALUE1 | BIGINT_VALUE1      | TINYINT_VALUE2 | SMALLINT_VALUE2 | INT_VALUE2 | BIGINT_VALUE2       |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| 1    |             99 |            9999 |  999999999 | 999999999999999999 |            999 |           99999 | 9999999999 | 9999999999999999999 |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
1 row in set (0.20 sec)
```

## Proposed changes

Issue Number: close #xxx

<!--Describe your changes.-->
morningman pushed a commit that referenced this pull request Oct 30, 2024
…l rules (#42259)

pick (#38227)

```
Doris > CREATE CATALOG `oracle` PROPERTIES (
    -> "user" = "doris_test",
    -> "type" = "jdbc",
    -> "password" = "xxx",
    -> "jdbc_url" = "jdbc:oracle:thin:@xxx:1521:XE",
    -> "driver_url" = "ojdbc8-19.3.0.0.jar",
    -> "driver_class" = "oracle.jdbc.driver.OracleDriver"
    -> );
Query OK, 0 rows affected (2.16 sec)
```

```
Doris > show variables like '%lower_case%';
+------------------------+-------+---------------+---------+
| Variable_name          | Value | Default_Value | Changed |
+------------------------+-------+---------------+---------+
| lower_case_table_names | 1     | 0             | 1       |
+------------------------+-------+---------------+---------+
1 row in set (0.00 sec)

Doris > show tables from oracle.DORIS_TEST;
+----------------------+
| Tables_in_DORIS_TEST |
+----------------------+
| aa/d                 |
| aaad                 |
| lower_test           |
| student              |
| student2             |
| student3             |
| test_all_types       |
| test_char            |
| test_clob            |
| test_date            |
| test_insert          |
| test_int             |
| test_num             |
| test_number          |
| test_number2         |
| test_number3         |
| test_number4         |
| test_raw             |
| test_timestamp       |
+----------------------+
19 rows in set (0.01 sec)

```

```
Doris > select * from oracle.DORIS_TEST.test_int limit 1;
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| ID   | TINYINT_VALUE1 | SMALLINT_VALUE1 | INT_VALUE1 | BIGINT_VALUE1      | TINYINT_VALUE2 | SMALLINT_VALUE2 | INT_VALUE2 | BIGINT_VALUE2       |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| 1    |             99 |            9999 |  999999999 | 999999999999999999 |            999 |           99999 | 9999999999 | 9999999999999999999 |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
1 row in set (1.03 sec)

Doris > select * from oracle.DORIS_TEST.TEST_INT limit 1;
ERROR 1105 (HY000): errCode = 2, detailMessage = Table [TEST_INT] does not exist in database [DORIS_TEST].

```

```
Doris > select * from oracle.DORIS_TEST.test_int limit 1;
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| ID   | TINYINT_VALUE1 | SMALLINT_VALUE1 | INT_VALUE1 | BIGINT_VALUE1      | TINYINT_VALUE2 | SMALLINT_VALUE2 | INT_VALUE2 | BIGINT_VALUE2       |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| 1    |             99 |            9999 |  999999999 | 999999999999999999 |            999 |           99999 | 9999999999 | 9999999999999999999 |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
1 row in set (0.20 sec)

Doris > select * from oracle.DORIS_TEST.TEST_INT limit 1;
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| ID   | TINYINT_VALUE1 | SMALLINT_VALUE1 | INT_VALUE1 | BIGINT_VALUE1      | TINYINT_VALUE2 | SMALLINT_VALUE2 | INT_VALUE2 | BIGINT_VALUE2       |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| 1    |             99 |            9999 |  999999999 | 999999999999999999 |            999 |           99999 | 9999999999 | 9999999999999999999 |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
1 row in set (0.20 sec)
```

```
Doris > show variables like '%lower_case%';
+------------------------+-------+---------------+---------+
| Variable_name          | Value | Default_Value | Changed |
+------------------------+-------+---------------+---------+
| lower_case_table_names | 2     | 0             | 1       |
+------------------------+-------+---------------+---------+
1 row in set (0.01 sec)

Doris > show tables from oracle.DORIS_TEST;
+----------------------+
| Tables_in_DORIS_TEST |
+----------------------+
| AA/D                 |
| AAAD                 |
| LOWER_TEST           |
| STUDENT              |
| TEST_ALL_TYPES       |
| TEST_CHAR            |
| TEST_CLOB            |
| TEST_DATE            |
| TEST_INSERT          |
| TEST_INT             |
| TEST_NUM             |
| TEST_NUMBER          |
| TEST_NUMBER2         |
| TEST_NUMBER3         |
| TEST_NUMBER4         |
| TEST_RAW             |
| TEST_TIMESTAMP       |
| student2             |
| student3             |
+----------------------+
19 rows in set (1.05 sec)
```

```
Doris > select * from oracle.DORIS_TEST.test_int limit 1;
ERROR 1105 (HY000): errCode = 2, detailMessage = Table [test_int] does not exist in database [DORIS_TEST].
Doris > select * from oracle.DORIS_TEST.TEST_INT limit 1;
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| ID   | TINYINT_VALUE1 | SMALLINT_VALUE1 | INT_VALUE1 | BIGINT_VALUE1      | TINYINT_VALUE2 | SMALLINT_VALUE2 | INT_VALUE2 | BIGINT_VALUE2       |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| 1    |             99 |            9999 |  999999999 | 999999999999999999 |            999 |           99999 | 9999999999 | 9999999999999999999 |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
1 row in set (1.07 sec)
```

```
Doris > select * from oracle.DORIS_TEST.test_int limit 1;
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| ID   | TINYINT_VALUE1 | SMALLINT_VALUE1 | INT_VALUE1 | BIGINT_VALUE1      | TINYINT_VALUE2 | SMALLINT_VALUE2 | INT_VALUE2 | BIGINT_VALUE2       |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| 1    |             99 |            9999 |  999999999 | 999999999999999999 |            999 |           99999 | 9999999999 | 9999999999999999999 |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
1 row in set (0.21 sec)

Doris > select * from oracle.DORIS_TEST.TEST_INT limit 1;
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| ID   | TINYINT_VALUE1 | SMALLINT_VALUE1 | INT_VALUE1 | BIGINT_VALUE1      | TINYINT_VALUE2 | SMALLINT_VALUE2 | INT_VALUE2 | BIGINT_VALUE2       |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| 1    |             99 |            9999 |  999999999 | 999999999999999999 |            999 |           99999 | 9999999999 | 9999999999999999999 |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
1 row in set (0.20 sec)
```

## Proposed changes

Issue Number: close #xxx

<!--Describe your changes.-->
@zy-kkk zy-kkk removed the dev/2.0.x label Nov 5, 2024
morningman pushed a commit to morningman/doris that referenced this pull request Nov 6, 2024
…es (apache#38227)

# Catalog DDL
```
Doris > CREATE CATALOG `oracle` PROPERTIES (
    -> "user" = "doris_test",
    -> "type" = "jdbc",
    -> "password" = "xxx",
    -> "jdbc_url" = "jdbc:oracle:thin:@xxx:1521:XE",
    -> "driver_url" = "ojdbc8-19.3.0.0.jar",
    -> "driver_class" = "oracle.jdbc.driver.OracleDriver"
    -> ); 
Query OK, 0 rows affected (2.16 sec)
```

# FE Conf lower_case_table_names = 1

```
Doris > show variables like '%lower_case%';
+------------------------+-------+---------------+---------+
| Variable_name          | Value | Default_Value | Changed |
+------------------------+-------+---------------+---------+
| lower_case_table_names | 1     | 0             | 1       |
+------------------------+-------+---------------+---------+
1 row in set (0.00 sec)

Doris > show tables from oracle.DORIS_TEST;
+----------------------+
| Tables_in_DORIS_TEST |
+----------------------+
| aa/d                 |
| aaad                 |
| lower_test           |
| student              |
| student2             |
| student3             |
| test_all_types       |
| test_char            |
| test_clob            |
| test_date            |
| test_insert          |
| test_int             |
| test_num             |
| test_number          |
| test_number2         |
| test_number3         |
| test_number4         |
| test_raw             |
| test_timestamp       |
+----------------------+
19 rows in set (0.01 sec)

```

## Before:

```
Doris > select * from oracle.DORIS_TEST.test_int limit 1;
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| ID   | TINYINT_VALUE1 | SMALLINT_VALUE1 | INT_VALUE1 | BIGINT_VALUE1      | TINYINT_VALUE2 | SMALLINT_VALUE2 | INT_VALUE2 | BIGINT_VALUE2       |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| 1    |             99 |            9999 |  999999999 | 999999999999999999 |            999 |           99999 | 9999999999 | 9999999999999999999 |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
1 row in set (1.03 sec)

Doris > select * from oracle.DORIS_TEST.TEST_INT limit 1;
ERROR 1105 (HY000): errCode = 2, detailMessage = Table [TEST_INT] does not exist in database [DORIS_TEST].

```
## After:

```
Doris > select * from oracle.DORIS_TEST.test_int limit 1;
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| ID   | TINYINT_VALUE1 | SMALLINT_VALUE1 | INT_VALUE1 | BIGINT_VALUE1      | TINYINT_VALUE2 | SMALLINT_VALUE2 | INT_VALUE2 | BIGINT_VALUE2       |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| 1    |             99 |            9999 |  999999999 | 999999999999999999 |            999 |           99999 | 9999999999 | 9999999999999999999 |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
1 row in set (0.20 sec)

Doris > select * from oracle.DORIS_TEST.TEST_INT limit 1;
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| ID   | TINYINT_VALUE1 | SMALLINT_VALUE1 | INT_VALUE1 | BIGINT_VALUE1      | TINYINT_VALUE2 | SMALLINT_VALUE2 | INT_VALUE2 | BIGINT_VALUE2       |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| 1    |             99 |            9999 |  999999999 | 999999999999999999 |            999 |           99999 | 9999999999 | 9999999999999999999 |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
1 row in set (0.20 sec)
```


# FE Conf lower_case_table_names = 2

```
Doris > show variables like '%lower_case%';
+------------------------+-------+---------------+---------+
| Variable_name          | Value | Default_Value | Changed |
+------------------------+-------+---------------+---------+
| lower_case_table_names | 2     | 0             | 1       |
+------------------------+-------+---------------+---------+
1 row in set (0.01 sec)

Doris > show tables from oracle.DORIS_TEST;
+----------------------+
| Tables_in_DORIS_TEST |
+----------------------+
| AA/D                 |
| AAAD                 |
| LOWER_TEST           |
| STUDENT              |
| TEST_ALL_TYPES       |
| TEST_CHAR            |
| TEST_CLOB            |
| TEST_DATE            |
| TEST_INSERT          |
| TEST_INT             |
| TEST_NUM             |
| TEST_NUMBER          |
| TEST_NUMBER2         |
| TEST_NUMBER3         |
| TEST_NUMBER4         |
| TEST_RAW             |
| TEST_TIMESTAMP       |
| student2             |
| student3             |
+----------------------+
19 rows in set (1.05 sec)
```

## Before:

```
Doris > select * from oracle.DORIS_TEST.test_int limit 1;
ERROR 1105 (HY000): errCode = 2, detailMessage = Table [test_int] does not exist in database [DORIS_TEST].
Doris > select * from oracle.DORIS_TEST.TEST_INT limit 1;
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| ID   | TINYINT_VALUE1 | SMALLINT_VALUE1 | INT_VALUE1 | BIGINT_VALUE1      | TINYINT_VALUE2 | SMALLINT_VALUE2 | INT_VALUE2 | BIGINT_VALUE2       |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| 1    |             99 |            9999 |  999999999 | 999999999999999999 |            999 |           99999 | 9999999999 | 9999999999999999999 |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
1 row in set (1.07 sec)
```

## After:

```
Doris > select * from oracle.DORIS_TEST.test_int limit 1;
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| ID   | TINYINT_VALUE1 | SMALLINT_VALUE1 | INT_VALUE1 | BIGINT_VALUE1      | TINYINT_VALUE2 | SMALLINT_VALUE2 | INT_VALUE2 | BIGINT_VALUE2       |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| 1    |             99 |            9999 |  999999999 | 999999999999999999 |            999 |           99999 | 9999999999 | 9999999999999999999 |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
1 row in set (0.21 sec)

Doris > select * from oracle.DORIS_TEST.TEST_INT limit 1;
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| ID   | TINYINT_VALUE1 | SMALLINT_VALUE1 | INT_VALUE1 | BIGINT_VALUE1      | TINYINT_VALUE2 | SMALLINT_VALUE2 | INT_VALUE2 | BIGINT_VALUE2       |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
| 1    |             99 |            9999 |  999999999 | 999999999999999999 |            999 |           99999 | 9999999999 | 9999999999999999999 |
+------+----------------+-----------------+------------+--------------------+----------------+-----------------+------------+---------------------+
1 row in set (0.20 sec)
```
morningman added a commit that referenced this pull request Nov 6, 2024
#38227 (#43312)

cherry pick from #38227

Co-authored-by: zy-kkk <zhongyk10@gmail.com>
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 dev/3.0.3-merged reviewed usercase Important user case type label

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants