This is an automated email from the ASF dual-hosted git repository.

chengzhang 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 f4afcc30b33 Add more sql bind test case for delete and update 
statement (#34150)
f4afcc30b33 is described below

commit f4afcc30b3375faed386a01b37facbfaa46c96f8
Author: Zhengqiang Duan <duanzhengqi...@apache.org>
AuthorDate: Wed Dec 25 18:47:23 2024 +0800

    Add more sql bind test case for delete and update statement (#34150)
---
 .../binder/src/test/resources/cases/dml/delete.xml | 61 +++++++++++++++++
 .../binder/src/test/resources/cases/dml/update.xml | 78 ++++++++++++++++++++++
 .../binder/src/test/resources/sqls/dml/delete.xml  | 21 ++++++
 .../binder/src/test/resources/sqls/dml/update.xml  | 21 ++++++
 4 files changed, 181 insertions(+)

diff --git a/test/it/binder/src/test/resources/cases/dml/delete.xml 
b/test/it/binder/src/test/resources/cases/dml/delete.xml
new file mode 100644
index 00000000000..0c3cfe4f348
--- /dev/null
+++ b/test/it/binder/src/test/resources/cases/dml/delete.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<sql-parser-test-cases>
+    <delete sql-case-id="delete_order_by">
+        <table name="t_order" start-index="12" stop-index="18">
+            <table-bound>
+                <original-database name="foo_db_1" />
+                <original-schema name="foo_db_1" />
+            </table-bound>
+        </table>
+        <where start-index="20" stop-index="37">
+            <expr>
+                <binary-operation-expression start-index="26" stop-index="37">
+                    <left>
+                        <column name="order_id" start-index="26" 
stop-index="33">
+                            <column-bound>
+                                <original-database name="foo_db_1" />
+                                <original-schema name="foo_db_1" />
+                                <original-table name="t_order" />
+                                <original-column name="order_id" 
start-delimiter="`" end-delimiter="`" />
+                            </column-bound>
+                        </column>
+                    </left>
+                    <operator>=</operator>
+                    <right>
+                        <literal-expression value="1" start-index="37" 
stop-index="37" />
+                    </right>
+                </binary-operation-expression>
+            </expr>
+        </where>
+        <order-by>
+            <column-item name="user_id" start-index="48" stop-index="54">
+                <column-bound>
+                    <original-database name="foo_db_1" />
+                    <original-schema name="foo_db_1" />
+                    <original-table name="t_order" />
+                    <original-column name="user_id" start-delimiter="`" 
end-delimiter="`" />
+                </column-bound>
+            </column-item>
+        </order-by>
+        <limit start-index="56" stop-index="62">
+            <row-count value="1" start-index="62" stop-index="62" />
+        </limit>
+    </delete>
+</sql-parser-test-cases>
diff --git a/test/it/binder/src/test/resources/cases/dml/update.xml 
b/test/it/binder/src/test/resources/cases/dml/update.xml
new file mode 100644
index 00000000000..d6b9141cae6
--- /dev/null
+++ b/test/it/binder/src/test/resources/cases/dml/update.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<sql-parser-test-cases>
+    <update sql-case-id="update_order_by">
+        <table start-index="7" stop-index="13">
+            <simple-table name="t_order" start-index="7" stop-index="13">
+                <table-bound>
+                    <original-database name="foo_db_1" />
+                    <original-schema name="foo_db_1" />
+                </table-bound>
+            </simple-table>
+        </table>
+        <set start-index="15" stop-index="29">
+            <assignment start-index="19" stop-index="29">
+                <column name="user_id" start-index="19" stop-index="25">
+                    <column-bound>
+                        <original-database name="foo_db_1" />
+                        <original-schema name="foo_db_1" />
+                        <original-table name="t_order" />
+                        <original-column name="user_id" start-delimiter="`" 
end-delimiter="`" />
+                    </column-bound>
+                </column>
+                <assignment-value>
+                    <literal-expression value="1" start-index="29" 
stop-index="29" />
+                </assignment-value>
+            </assignment>
+        </set>
+        <where start-index="31" stop-index="48">
+            <expr>
+                <binary-operation-expression start-index="37" stop-index="48">
+                    <left>
+                        <column name="order_id" start-index="37" 
stop-index="44">
+                            <column-bound>
+                                <original-database name="foo_db_1" />
+                                <original-schema name="foo_db_1" />
+                                <original-table name="t_order" />
+                                <original-column name="order_id" 
start-delimiter="`" end-delimiter="`" />
+                            </column-bound>
+                        </column>
+                    </left>
+                    <operator>=</operator>
+                    <right>
+                        <literal-expression value="1" start-index="48" 
stop-index="48" />
+                    </right>
+                </binary-operation-expression>
+            </expr>
+        </where>
+        <order-by>
+            <column-item name="user_id" start-index="59" stop-index="65">
+                <column-bound>
+                    <original-database name="foo_db_1" />
+                    <original-schema name="foo_db_1" />
+                    <original-table name="t_order" />
+                    <original-column name="user_id" start-delimiter="`" 
end-delimiter="`" />
+                </column-bound>
+            </column-item>
+        </order-by>
+        <limit start-index="67" stop-index="73">
+            <row-count value="1" start-index="73" stop-index="73" />
+        </limit>
+    </update>
+</sql-parser-test-cases>
diff --git a/test/it/binder/src/test/resources/sqls/dml/delete.xml 
b/test/it/binder/src/test/resources/sqls/dml/delete.xml
new file mode 100644
index 00000000000..f43f5868102
--- /dev/null
+++ b/test/it/binder/src/test/resources/sqls/dml/delete.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<sql-cases>
+    <sql-case id="delete_order_by" value="DELETE FROM t_order WHERE order_id = 
1 ORDER BY user_id LIMIT 1" db-types="MySQL"/>
+</sql-cases>
diff --git a/test/it/binder/src/test/resources/sqls/dml/update.xml 
b/test/it/binder/src/test/resources/sqls/dml/update.xml
new file mode 100644
index 00000000000..3bbd5d91711
--- /dev/null
+++ b/test/it/binder/src/test/resources/sqls/dml/update.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<sql-cases>
+    <sql-case id="update_order_by" value="UPDATE t_order SET user_id = 1 WHERE 
order_id = 1 ORDER BY user_id LIMIT 1" db-types="MySQL"/>
+</sql-cases>

Reply via email to