This is an automated email from the ASF dual-hosted git repository.
zhangliang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 2889c3bb7f7 Parameterize SQL parse/route advice tests (#37691)
2889c3bb7f7 is described below
commit 2889c3bb7f7fdec0b2289983ec19f292d76dfbc8
Author: Liang Zhang <[email protected]>
AuthorDate: Thu Jan 8 19:54:01 2026 +0800
Parameterize SQL parse/route advice tests (#37691)
---
test/it/parser/src/main/resources/case/dal/show.xml | 1 +
test/it/parser/src/main/resources/case/dml/select.xml | 14 ++++++++++++++
.../src/main/resources/sql/supported/dal/cache-index.xml | 12 ++++++------
.../parser/src/main/resources/sql/supported/dal/help.xml | 6 +++---
.../src/main/resources/sql/supported/dal/load-index.xml | 12 ++++++------
.../parser/src/main/resources/sql/supported/dal/show.xml | 13 +++++++------
.../sql/supported/dml/select-special-function.xml | 8 ++++----
.../parser/src/main/resources/sql/supported/dml/select.xml | 1 +
8 files changed, 42 insertions(+), 25 deletions(-)
diff --git a/test/it/parser/src/main/resources/case/dal/show.xml
b/test/it/parser/src/main/resources/case/dal/show.xml
index 484f9fc7dd6..83dc7cddab3 100644
--- a/test/it/parser/src/main/resources/case/dal/show.xml
+++ b/test/it/parser/src/main/resources/case/dal/show.xml
@@ -863,6 +863,7 @@
<show sql-case-id="show_processlist" />
<show sql-case-id="show_profile" />
<show sql-case-id="show_profiles" />
+ <show sql-case-id="show_privileges_doris" />
<show sql-case-id="show_charset" />
<show sql-case-id="show_warnings_limit" />
<show sql-case-id="show_warnings_count" />
diff --git a/test/it/parser/src/main/resources/case/dml/select.xml
b/test/it/parser/src/main/resources/case/dml/select.xml
index c85dc2d6786..7ce9e494486 100644
--- a/test/it/parser/src/main/resources/case/dml/select.xml
+++ b/test/it/parser/src/main/resources/case/dml/select.xml
@@ -157,6 +157,20 @@
</expression-projection>
</projections>
</select>
+ <select sql-case-id="select_three_part_column_doris">
+ <projections start-index="7" stop-index="15">
+ <column-projection name="c1" start-index="7" stop-index="15">
+ <owner start-index="11" stop-index="12" name="t1">
+ <owner start-index="7" stop-index="9" name="db1" />
+ </owner>
+ </column-projection>
+ </projections>
+ <from>
+ <simple-table name="t1" start-index="22" stop-index="27">
+ <owner start-index="22" stop-index="24" name="db1" />
+ </simple-table>
+ </from>
+ </select>
<select sql-case-id="select_with_default_str">
<projections start-index="7" stop-index="7">
diff --git
a/test/it/parser/src/main/resources/sql/supported/dal/cache-index.xml
b/test/it/parser/src/main/resources/sql/supported/dal/cache-index.xml
index 817c1fb4e70..1e77af559bf 100644
--- a/test/it/parser/src/main/resources/sql/supported/dal/cache-index.xml
+++ b/test/it/parser/src/main/resources/sql/supported/dal/cache-index.xml
@@ -18,10 +18,10 @@
<sql-cases>
<sql-case id="cache_index_with_in" value="cache index t1,t2 in default"
db-types="MySQL,Doris" />
- <sql-case id="cache_index_single_table" value="CACHE INDEX t_order IN
hot_cache_index" db-types="MySQL" />
- <sql-case id="cache_index_multiple_table" value="CACHE INDEX t_order,
t_user IN hot_cache_index" db-types="MySQL" />
- <sql-case id="cache_index_single_table_multiple_index" value="CACHE INDEX
t_order INDEX (idx_a, idx_b) IN hot_cache_index" db-types="MySQL" />
- <sql-case id="cache_index_multiple_table_multiple_index" value="CACHE
INDEX t_order INDEX (idx_order), t_user INDEX (idx_user) IN hot_cache_index"
db-types="MySQL" />
- <sql-case id="cache_index_all_partition" value="CACHE INDEX t_order
PARTITION (ALL) IN hot_cache_index" db-types="MySQL" />
- <sql-case id="cache_index_multiple_partition" value="CACHE INDEX t_order
PARTITION (p0, p1) IN hot_cache_index" db-types="MySQL" />
+ <sql-case id="cache_index_single_table" value="CACHE INDEX t_order IN
hot_cache_index" db-types="MySQL,Doris" />
+ <sql-case id="cache_index_multiple_table" value="CACHE INDEX t_order,
t_user IN hot_cache_index" db-types="MySQL,Doris" />
+ <sql-case id="cache_index_single_table_multiple_index" value="CACHE INDEX
t_order INDEX (idx_a, idx_b) IN hot_cache_index" db-types="MySQL,Doris" />
+ <sql-case id="cache_index_multiple_table_multiple_index" value="CACHE
INDEX t_order INDEX (idx_order), t_user INDEX (idx_user) IN hot_cache_index"
db-types="MySQL,Doris" />
+ <sql-case id="cache_index_all_partition" value="CACHE INDEX t_order
PARTITION (ALL) IN hot_cache_index" db-types="MySQL,Doris" />
+ <sql-case id="cache_index_multiple_partition" value="CACHE INDEX t_order
PARTITION (p0, p1) IN hot_cache_index" db-types="MySQL,Doris" />
</sql-cases>
diff --git a/test/it/parser/src/main/resources/sql/supported/dal/help.xml
b/test/it/parser/src/main/resources/sql/supported/dal/help.xml
index 1c4c95c58a8..47d04b64294 100644
--- a/test/it/parser/src/main/resources/sql/supported/dal/help.xml
+++ b/test/it/parser/src/main/resources/sql/supported/dal/help.xml
@@ -17,7 +17,7 @@
-->
<sql-cases>
- <sql-case id="help_with_text" value="HELP test" db-types="MySQL" />
- <sql-case id="help_with_quot" value="HELP "test""
db-types="MySQL" />
- <sql-case id="help_with_apos" value="HELP 'test'"
db-types="MySQL" />
+ <sql-case id="help_with_text" value="HELP test" db-types="MySQL,Doris" />
+ <sql-case id="help_with_quot" value="HELP "test""
db-types="MySQL,Doris" />
+ <sql-case id="help_with_apos" value="HELP 'test'"
db-types="MySQL,Doris" />
</sql-cases>
diff --git a/test/it/parser/src/main/resources/sql/supported/dal/load-index.xml
b/test/it/parser/src/main/resources/sql/supported/dal/load-index.xml
index 5b17bfdf1d3..b75decb368d 100644
--- a/test/it/parser/src/main/resources/sql/supported/dal/load-index.xml
+++ b/test/it/parser/src/main/resources/sql/supported/dal/load-index.xml
@@ -17,10 +17,10 @@
-->
<sql-cases>
- <sql-case id="load_index_single_table_all_partition" value="LOAD INDEX
INTO CACHE t_order PARTITION (ALL)" db-types="MySQL" />
- <sql-case id="load_index_single_table_multiple_partition" value="LOAD
INDEX INTO CACHE t_order PARTITION (p0, p1)" db-types="MySQL" />
- <sql-case id="load_index_multiple_table_multiple_partition" value="LOAD
INDEX INTO CACHE t_order PARTITION (p0, p1), t_user PARTITION (p2, p3)"
db-types="MySQL" />
- <sql-case id="load_index_single_table_multiple_index" value="LOAD INDEX
INTO CACHE t_order INDEX (idx_a, idx_b)" db-types="MySQL" />
- <sql-case id="load_index_multiple_table_multiple_index" value="LOAD INDEX
INTO CACHE t_order INDEX (idx_order_1, idx_order_2), t_user INDEX (idx_user_1,
idx_user_2)" db-types="MySQL" />
- <sql-case id="load_index_ignore_leaves" value="LOAD INDEX INTO CACHE
t_order IGNORE LEAVES, t_user IGNORE LEAVES" db-types="MySQL" />
+ <sql-case id="load_index_single_table_all_partition" value="LOAD INDEX
INTO CACHE t_order PARTITION (ALL)" db-types="MySQL,Doris" />
+ <sql-case id="load_index_single_table_multiple_partition" value="LOAD
INDEX INTO CACHE t_order PARTITION (p0, p1)" db-types="MySQL,Doris" />
+ <sql-case id="load_index_multiple_table_multiple_partition" value="LOAD
INDEX INTO CACHE t_order PARTITION (p0, p1), t_user PARTITION (p2, p3)"
db-types="MySQL,Doris" />
+ <sql-case id="load_index_single_table_multiple_index" value="LOAD INDEX
INTO CACHE t_order INDEX (idx_a, idx_b)" db-types="MySQL,Doris" />
+ <sql-case id="load_index_multiple_table_multiple_index" value="LOAD INDEX
INTO CACHE t_order INDEX (idx_order_1, idx_order_2), t_user INDEX (idx_user_1,
idx_user_2)" db-types="MySQL,Doris" />
+ <sql-case id="load_index_ignore_leaves" value="LOAD INDEX INTO CACHE
t_order IGNORE LEAVES, t_user IGNORE LEAVES" db-types="MySQL,Doris" />
</sql-cases>
diff --git a/test/it/parser/src/main/resources/sql/supported/dal/show.xml
b/test/it/parser/src/main/resources/sql/supported/dal/show.xml
index 7c531c356b8..a0d3aab5870 100644
--- a/test/it/parser/src/main/resources/sql/supported/dal/show.xml
+++ b/test/it/parser/src/main/resources/sql/supported/dal/show.xml
@@ -55,8 +55,8 @@
<sql-case id="show_procedure_status_with_where_expr" value="SHOW PROCEDURE
STATUS where name = ?" db-types="MySQL" />
<sql-case id="show_procedure_status_with_where_expr_no_parameter"
value="SHOW PROCEDURE STATUS where name = 'procedure1'" db-types="MySQL" />
<sql-case id="show_replicas" value="SHOW REPLICAS" db-types="MySQL" />
- <sql-case id="show_procedure_code_func" value="SHOW PROCEDURE CODE
TEST_FUNC" db-types="MySQL" />
- <sql-case id="show_procedure_code_owner_func" value="SHOW PROCEDURE CODE
TEST_USER.TEST_FUNC" db-types="MySQL" />
+ <sql-case id="show_procedure_code_func" value="SHOW PROCEDURE CODE
TEST_FUNC" db-types="MySQL,Doris" />
+ <sql-case id="show_procedure_code_owner_func" value="SHOW PROCEDURE CODE
TEST_USER.TEST_FUNC" db-types="MySQL,Doris" />
<sql-case id="show_relay-log_events" value="SHOW RELAYLOG EVENTS FOR
CHANNEL TEST_CHANNEL" db-types="MySQL" />
<sql-case id="show_relay-log_events_with_log" value="SHOW RELAYLOG EVENTS
IN 'TEST_LOG' FOR CHANNEL TEST_CHANNEL" db-types="MySQL" />
<sql-case id="show_slave_hosts" value="SHOW SLAVE HOSTS" db-types="MySQL"
/>
@@ -132,14 +132,15 @@
<sql-case id="show_create_function" value="SHOW CREATE FUNCTION
function_name" db-types="MySQL" />
<sql-case id="show_create_proc" value="SHOW CREATE PROCEDURE proc_name"
db-types="MySQL" />
<sql-case id="show_create_view" value="SHOW CREATE VIEW view_name"
db-types="MySQL" />
- <sql-case id="show_function_code" value="SHOW FUNCTION CODE function_name"
db-types="MySQL" />
+ <sql-case id="show_function_code" value="SHOW FUNCTION CODE function_name"
db-types="MySQL,Doris" />
<sql-case id="show_grants_for" value="SHOW GRANTS FOR
'jeffrey'@'localhost'" db-types="MySQL" />
<sql-case id="show_grants_for_using" value="SHOW GRANTS FOR
'u1'@'localhost' USING 'r1'" db-types="MySQL" />
<sql-case id="show_master_status" value="SHOW MASTER STATUS"
db-types="MySQL" />
- <sql-case id="show_plugins" value="SHOW PLUGINS" db-types="MySQL" />
+ <sql-case id="show_plugins" value="SHOW PLUGINS" db-types="MySQL,Doris" />
+ <sql-case id="show_privileges_doris" value="SHOW PRIVILEGES"
db-types="Doris" />
<sql-case id="show_processlist" value="SHOW FULL PROCESSLIST"
db-types="MySQL" />
- <sql-case id="show_profile" value="SHOW PROFILE LIMIT 1, 2"
db-types="MySQL" />
- <sql-case id="show_profiles" value="SHOW PROFILES" db-types="MySQL" />
+ <sql-case id="show_profile" value="SHOW PROFILE LIMIT 1, 2"
db-types="MySQL,Doris" />
+ <sql-case id="show_profiles" value="SHOW PROFILES" db-types="MySQL,Doris"
/>
<sql-case id="show_charset" value="SHOW CHARSET" db-types="MySQL" />
<sql-case id="show_warnings_limit" value="SHOW WARNINGS limit 1"
db-types="MySQL,Doris" />
<sql-case id="show_warnings_count" value="SHOW COUNT(*) WARNINGS"
db-types="MySQL,Doris" />
diff --git
a/test/it/parser/src/main/resources/sql/supported/dml/select-special-function.xml
b/test/it/parser/src/main/resources/sql/supported/dml/select-special-function.xml
index e4d683d2713..bfea68687ba 100644
---
a/test/it/parser/src/main/resources/sql/supported/dml/select-special-function.xml
+++
b/test/it/parser/src/main/resources/sql/supported/dml/select-special-function.xml
@@ -25,15 +25,15 @@
<sql-case id="select_cast" value="SELECT CAST(c AT TIME ZONE 'UTC' AS
DATETIME)" db-types="MySQL" />
<sql-case id="select_cast_multiset" value="select CAST(MULTISET(SELECT
cust_address FROM customers c WHERE c.customer_id = cd.customer_id) as
cust_address_tab_typ) from customer;" db-types="Oracle" />
<sql-case id="select_convert_function" value="SELECT CONVERT('2020-10-01',
DATE)" db-types="MySQL" />
- <sql-case id="select_position" value="SELECT POSITION('bar' IN
'foobarbar')" db-types="MySQL" />
+ <sql-case id="select_position" value="SELECT POSITION('bar' IN
'foobarbar')" db-types="MySQL,Doris" />
<sql-case id="select_substring" value="SELECT SUBSTRING('foobarbar' from
-4 for 2)" db-types="MySQL" />
<sql-case id="select_substr" value="SELECT SUBSTR('foobarbar' from 4)"
db-types="MySQL,Presto" />
<sql-case id="select_extract" value="SELECT EXTRACT(YEAR FROM
'2019-07-02')" db-types="MySQL" />
<sql-case id="select_extract_from_column" value="SELECT EXTRACT(YEAR FROM
o.creation_date) FROM t_order o" db-types="MySQL" />
- <sql-case id="select_char" value="SELECT CHAR(77,121,83,81,'76')"
db-types="MySQL" />
+ <sql-case id="select_char" value="SELECT CHAR(77,121,83,81,'76')"
db-types="MySQL,Doris" />
<sql-case id="select_chr_using_nchar_cs" value="SELECT CHR (196 USING
NCHAR_CS) FROM DUAL;" db-types="Oracle" />
- <sql-case id="select_trim" value="SELECT TRIM(' bar ')"
db-types="MySQL" />
- <sql-case id="select_trim_with_both" value="SELECT TRIM(BOTH ' ' from '
bar ')" db-types="MySQL" />
+ <sql-case id="select_trim" value="SELECT TRIM(' bar ')"
db-types="MySQL,Doris" />
+ <sql-case id="select_trim_with_both" value="SELECT TRIM(BOTH ' ' from '
bar ')" db-types="MySQL,Doris" />
<sql-case id="select_with_trim_expr" value="SELECT TRIM('#' FROM `name`)
FROM t_order" db-types="MySQL" />
<sql-case id="select_with_trim_expr_and_both" value="SELECT TRIM(BOTH '#'
FROM `name`) FROM `t_order`" db-types="MySQL" />
<sql-case id="select_with_trim_expr_from_expr" value="SELECT
TRIM(remove_name FROM name) FROM t_order" db-types="MySQL" />
diff --git a/test/it/parser/src/main/resources/sql/supported/dml/select.xml
b/test/it/parser/src/main/resources/sql/supported/dml/select.xml
index f908843d31d..8264a07a440 100644
--- a/test/it/parser/src/main/resources/sql/supported/dml/select.xml
+++ b/test/it/parser/src/main/resources/sql/supported/dml/select.xml
@@ -22,6 +22,7 @@
<sql-case id="select_extract_function_with_day_hour" value="select
extract(DAY_HOUR FROM "1999-01-02 10:11:12")" db-types="MySQL" />
<sql-case id="select_with_latin1" value="select _latin1'B' collate
latin1_bin in (_latin1'a',_latin1'b')" db-types="MySQL" />
<sql-case id="select_with_default_str" value="select * from t1 where str
<> default(str)" db-types="MySQL" />
+ <sql-case id="select_three_part_column_doris" value="SELECT db1.t1.c1 FROM
db1.t1" db-types="Doris" />
<sql-case id="select_subquery_excpet" value="select * from (select * from
t1 except all select * from t1 limit 2) a" db-types="MySQL" />
<sql-case id="select_point_function_with_in" value="SELECT point(1,1) IN
('1',1,'1') AS res" db-types="MySQL" />
<sql-case id="select_with_in" value="SELECT b, b IN ('20161213'), b in
('20161213', 0) FROM t2" db-types="MySQL" />