This is an automated email from the ASF dual-hosted git repository.
FlyingZC 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 88c8f9ae8a7 Add mysql delete multi tables statement parse test case
(#38746)
88c8f9ae8a7 is described below
commit 88c8f9ae8a70179613b37dee6ee0819738daef56
Author: Zhengqiang Duan <[email protected]>
AuthorDate: Thu May 28 17:46:20 2026 +0800
Add mysql delete multi tables statement parse test case (#38746)
* Add mysql delete multi tables statement parse test case
* update HiveStorageContainerCreateOption
---
.../hive/HiveStorageContainerCreateOption.java | 3 +--
.../parser/src/main/resources/case/dml/delete.xml | 21 +++++++++++++++++++++
.../src/main/resources/sql/supported/dml/delete.xml | 1 +
3 files changed, 23 insertions(+), 2 deletions(-)
diff --git
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/storage/option/dialect/hive/HiveStorageContainerCreateOption.java
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/storage/option/dialect/hive/HiveStorageContainerCreateOption.java
index 0405f347338..2f36860e21f 100644
---
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/storage/option/dialect/hive/HiveStorageContainerCreateOption.java
+++
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/storage/option/dialect/hive/HiveStorageContainerCreateOption.java
@@ -48,9 +48,8 @@ public final class HiveStorageContainerCreateOption
implements StorageContainerC
@Override
public Map<String, String> getEnvironments() {
- Map<String, String> result = new HashMap<>(3, 1F);
+ Map<String, String> result = new HashMap<>(2, 1F);
result.put("SERVICE_NAME", "hiveserver2");
- result.put("SERVICE_OPTS", "-Dhive.support.concurrency=true
-Dhive.exec.dynamic.partition.mode=nonstrict
-Dhive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager");
result.put("LANG", "C.UTF-8");
return result;
}
diff --git a/test/it/parser/src/main/resources/case/dml/delete.xml
b/test/it/parser/src/main/resources/case/dml/delete.xml
index d4cdffc705f..be7ecccd8fd 100644
--- a/test/it/parser/src/main/resources/case/dml/delete.xml
+++ b/test/it/parser/src/main/resources/case/dml/delete.xml
@@ -558,6 +558,27 @@
<table name="t_order_item" start-index="16" stop-index="27" />
</delete>
+ <delete sql-case-id="delete_multi_tables_with_qualified_source"
parameters="1">
+ <table name="m" start-index="7" stop-index="7" />
+ <table name="r" start-index="10" stop-index="10" />
+ <where start-index="111" stop-index="124">
+ <expr>
+ <binary-operation-expression start-index="117"
stop-index="124">
+ <left>
+ <column name="id" start-index="117" stop-index="120">
+ <owner name="m" start-index="117" stop-index="117"
/>
+ </column>
+ </left>
+ <operator>=</operator>
+ <right>
+ <literal-expression value="1" start-index="124"
stop-index="124" />
+ <parameter-marker-expression parameter-index="0"
start-index="124" stop-index="124" />
+ </right>
+ </binary-operation-expression>
+ </expr>
+ </where>
+ </delete>
+
<delete sql-case-id="delete_multi_tables_with_using" parameters="1">
<where start-index="115" stop-index="138">
<expr>
diff --git a/test/it/parser/src/main/resources/sql/supported/dml/delete.xml
b/test/it/parser/src/main/resources/sql/supported/dml/delete.xml
index a16a743f21d..b444cfa86d9 100644
--- a/test/it/parser/src/main/resources/sql/supported/dml/delete.xml
+++ b/test/it/parser/src/main/resources/sql/supported/dml/delete.xml
@@ -34,6 +34,7 @@
<sql-case id="delete_multi_tables_with_with_clause" value="WITH
target_orders AS (SELECT order_id FROM t_order WHERE order_id = ?) DELETE o, i
FROM t_order o INNER JOIN t_order_item i ON o.order_id = i.order_id WHERE
o.order_id IN (SELECT order_id FROM target_orders)" db-types="MySQL" />
<sql-case id="delete_without_columns_with_with_clause" value="WITH cte AS
(SELECT order_id, user_id FROM t_order) DELETE t_order FROM cte WHERE
t_order.order_id = cte.order_id" db-types="SQLServer" />
<sql-case id="delete_multi_tables" value="DELETE t_order, t_order_item
from t_order, t_order_item where t_order.order_id = t_order_item.order_id and
t_order.status = ?" db-types="MySQL,Presto,Doris,Hive" />
+ <sql-case id="delete_multi_tables_with_qualified_source" value="DELETE m,
r FROM test.t_data_type_order_metrics m JOIN test.t_data_type_region_summary r
ON m.id = r.region_id WHERE m.id = ?" db-types="MySQL" />
<sql-case id="delete_multi_tables_with_using" value="DELETE from t_order,
t_order_item using t_order left join t_order_item on t_order.order_id =
t_order_item.order_id where t_order.status = ?" db-types="MySQL,Doris" />
<sql-case id="delete_with_query_hint" value="DELETE FROM t_order WHERE
order_id = ?" db-types="SQLServer" />
<sql-case id="delete_with_simple_table" value="DELETE FROM
product_descriptions WHERE language_id = 'AR'" db-types="Oracle" />