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 3f1c21408c5 Fix mysql parser IT (#37678)
3f1c21408c5 is described below
commit 3f1c21408c52953ef61b61ef6004e84596e1001f
Author: Liang Zhang <[email protected]>
AuthorDate: Wed Jan 7 21:48:06 2026 +0800
Fix mysql parser IT (#37678)
* Fix mysql parser IT
* Fix mysql parser IT
---
.../src/main/resources/case/ddl/create-table.xml | 6 +++++-
.../main/resources/case/dml/select-sub-query.xml | 23 +++++++++++++++++++++-
.../resources/sql/supported/ddl/create-table.xml | 3 ++-
.../sql/supported/dml/select-sub-query.xml | 3 ++-
4 files changed, 31 insertions(+), 4 deletions(-)
diff --git a/test/it/parser/src/main/resources/case/ddl/create-table.xml
b/test/it/parser/src/main/resources/case/ddl/create-table.xml
index 2ced010ff1f..26385afb8d0 100644
--- a/test/it/parser/src/main/resources/case/ddl/create-table.xml
+++ b/test/it/parser/src/main/resources/case/ddl/create-table.xml
@@ -2059,7 +2059,7 @@
</column-definition>
</create-table>
- <create-table sql-case-id="create_table_with_select">
+ <create-table sql-case-id="create_table_with_select" db-types="Doris">
<table name="t_order_new" start-index="13" stop-index="23"/>
<select>
<projections start-index="35" stop-index="35">
@@ -2070,6 +2070,10 @@
</from>
</select>
</create-table>
+
+ <create-table sql-case-id="create_table_with_select_without_query"
db-types="Oracle">
+ <table name="t_order_new" start-index="13" stop-index="23"/>
+ </create-table>
<create-table
sql-case-id="create_table_organization_index_parallel_with_select">
<table name="admin_iot3" start-index="13" stop-index="22" />
diff --git a/test/it/parser/src/main/resources/case/dml/select-sub-query.xml
b/test/it/parser/src/main/resources/case/dml/select-sub-query.xml
index 414aa6f50bd..e17adcc89e3 100644
--- a/test/it/parser/src/main/resources/case/dml/select-sub-query.xml
+++ b/test/it/parser/src/main/resources/case/dml/select-sub-query.xml
@@ -334,9 +334,30 @@
</select>
<select sql-case-id="select_with_exists_sub_query_with_project">
+ <projections start-index="7" stop-index="36">
+ <expression-projection start-index="7" stop-index="36"
text="EXISTS (SELECT 1 FROM t_order)">
+ <expr>
+ <exists-subquery start-index="7" stop-index="36">
+ <subquery start-index="14" stop-index="36">
+ <select>
+ <from>
+ <simple-table name="t_order"
start-index="29" stop-index="35" />
+ </from>
+ <projections start-index="22" stop-index="22">
+ <expression-projection start-index="22"
stop-index="22" text="1" />
+ </projections>
+ </select>
+ </subquery>
+ </exists-subquery>
+ </expr>
+ </expression-projection>
+ </projections>
+ </select>
+
+ <select sql-case-id="select_with_exists_sub_query_with_project_for_doris"
db-types="Doris">
<projections start-index="7" stop-index="36">
<subquery-projection start-index="14" stop-index="36" text="EXISTS
(SELECT 1 FROM t_order)" literal-text="EXISTS (SELECT 1 FROM t_order)">
- <subquery>
+ <subquery start-index="14" stop-index="36">
<select>
<from>
<simple-table name="t_order" start-index="29"
stop-index="35" />
diff --git
a/test/it/parser/src/main/resources/sql/supported/ddl/create-table.xml
b/test/it/parser/src/main/resources/sql/supported/ddl/create-table.xml
index 07fc7b54909..2d7f9c059b0 100644
--- a/test/it/parser/src/main/resources/sql/supported/ddl/create-table.xml
+++ b/test/it/parser/src/main/resources/sql/supported/ddl/create-table.xml
@@ -151,7 +151,8 @@
<sql-case id="create_table_with_partition_less_than" value="CREATE TABLE
t_sales (order_id INTEGER NOT NULL, goods_name CHAR(20) NOT NULL, sales_date
DATE NOT NULL, sales_volume INTEGER, sales_store CHAR(20), PRIMARY KEY (
order_id )) PARTITION BY RANGE (sales_date) (PARTITION season1 VALUES LESS
THAN('2023-04-01 00:00:00'),PARTITION season2 VALUES LESS THAN('2023-07-01
00:00:00'),PARTITION season3 VALUES LESS THAN('2023-10-01 00:00:00'),PARTITION
season4 VALUES LESS THAN(MAXVALUE))" [...]
<sql-case id="create_table_with_negative_data_type" value="CREATE TABLE
T(COL1 NUMBER, COL2 NUMBER(3), COL3 NUMBER(3,2), COL4 NUMBER(6,-2))"
db-types="Oracle" />
<sql-case id="create_table_with_ref_data_type" value="CREATE TABLE
location_table (location_number NUMBER, building REF warehouse_typ SCOPE IS
warehouse_table);" db-types="Oracle" />
- <sql-case id="create_table_with_select" value="CREATE TABLE t_order_new AS
SELECT * FROM t_order" db-types="Oracle,Doris"/>
+ <sql-case id="create_table_with_select" value="CREATE TABLE t_order_new AS
SELECT * FROM t_order" db-types="Doris"/>
+ <sql-case id="create_table_with_select_without_query" value="CREATE TABLE
t_order_new AS SELECT * FROM t_order" db-types="Oracle"/>
<sql-case id="create_table_organization_index_parallel_with_select"
value="CREATE TABLE admin_iot3(i PRIMARY KEY, j, k, l) ORGANIZATION INDEX
PARALLEL AS SELECT * FROM hr.jobs" db-types="Oracle" />
<sql-case id="create_table_partition_by_range" value="CREATE TABLE
costs_demo (prod_id NUMBER(6), time_id DATE, unit_cost NUMBER(10,2), unit_price
NUMBER(10,2))
PARTITION BY RANGE (time_id) (PARTITION costs_old VALUES LESS THAN
(TO_DATE('01-JAN-2003', 'DD-MON-YYYY')) COMPRESS,
diff --git
a/test/it/parser/src/main/resources/sql/supported/dml/select-sub-query.xml
b/test/it/parser/src/main/resources/sql/supported/dml/select-sub-query.xml
index 3964780891c..492eadf4939 100644
--- a/test/it/parser/src/main/resources/sql/supported/dml/select-sub-query.xml
+++ b/test/it/parser/src/main/resources/sql/supported/dml/select-sub-query.xml
@@ -24,7 +24,8 @@
<sql-case id="select_with_any_subquery" value="SELECT * FROM employees
WHERE salary = ANY (SELECT salary FROM employees WHERE department_id = 30)
ORDER BY employee_id;" db-types="Oracle" />
<sql-case id="select_with_in_subquery" value="SELECT * FROM t_order WHERE
user_id IN (SELECT user_id FROM t_order_item WHERE id IN (10, 11))"
db-types="MySQL,PostgreSQL,openGauss,Doris" />
<sql-case id="select_with_between_subquery" value="SELECT * FROM t_order
WHERE user_id BETWEEN (SELECT user_id FROM t_order_item WHERE order_id = 10)
AND ?" db-types="MySQL, PostgreSQL,openGauss,Doris" />
- <sql-case id="select_with_exists_sub_query_with_project" value="SELECT
EXISTS (SELECT 1 FROM t_order)" db-types="MySQL,PostgreSQL,openGauss,Doris" />
+ <sql-case id="select_with_exists_sub_query_with_project" value="SELECT
EXISTS (SELECT 1 FROM t_order)" db-types="MySQL,PostgreSQL,openGauss" />
+ <sql-case id="select_with_exists_sub_query_with_project_for_doris"
value="SELECT EXISTS (SELECT 1 FROM t_order)" db-types="Doris" />
<sql-case id="select_with_join_table_subquery" value="SELECT
t_order_federate.order_id, t_order_federate.user_id, u.user_id FROM
t_order_federate, (SELECT * FROM t_user_info) as u WHERE
t_order_federate.user_id = u.user_id" db-types="MySQL, PostgreSQL,openGauss,
SQLServer, SQL92" />
<sql-case id="select_with_projection_subquery" value="SELECT
t_order_federate.order_id, t_order_federate.user_id, (SELECT COUNT(user_id)
FROM t_user_info) FROM t_order_federate" />
<sql-case id="select_with_projection_subquery_and_multiple_parameters"
value="SELECT t_order_federate.order_id, t_order_federate.user_id, (SELECT
CONCAT(order_id, user_id) FROM t_user_info) FROM t_order_federate" />