You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by du...@apache.org on 2022/12/30 04:01:43 UTC

[shardingsphere] branch master updated: Add tests for ShardingSphere-Proxy PostgreSQL/openGauss insert returning (#23188)

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

duanzhengqiang 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 606bf44635b Add tests for ShardingSphere-Proxy PostgreSQL/openGauss insert returning (#23188)
606bf44635b is described below

commit 606bf44635b3f45964517a3b83357d5d5d763ac4
Author: 吴伟杰 <wu...@apache.org>
AuthorDate: Fri Dec 30 12:01:35 2022 +0800

    Add tests for ShardingSphere-Proxy PostgreSQL/openGauss insert returning (#23188)
---
 .../src/test/resources/cases/dql/dql-integration-test-cases.xml      | 5 +++++
 .../test/resources/env/scenario/passthrough/data/actual/dataset.xml  | 4 ++++
 .../passthrough/data/actual/init-sql/mysql/01-actual-init.sql        | 1 +
 .../passthrough/data/actual/init-sql/opengauss/01-actual-init.sql    | 1 +
 .../passthrough/data/actual/init-sql/postgresql/01-actual-init.sql   | 1 +
 .../resources/env/scenario/passthrough/data/expected/dataset.xml     | 4 ++++
 .../passthrough/data/expected/init-sql/mysql/01-expected-init.sql    | 1 +
 .../data/expected/init-sql/opengauss/01-expected-init.sql            | 1 +
 .../data/expected/init-sql/postgresql/01-expected-init.sql           | 1 +
 9 files changed, 19 insertions(+)

diff --git a/test/e2e/suite/src/test/resources/cases/dql/dql-integration-test-cases.xml b/test/e2e/suite/src/test/resources/cases/dql/dql-integration-test-cases.xml
index 2ccbeca12ad..25e87241c3d 100644
--- a/test/e2e/suite/src/test/resources/cases/dql/dql-integration-test-cases.xml
+++ b/test/e2e/suite/src/test/resources/cases/dql/dql-integration-test-cases.xml
@@ -1241,4 +1241,9 @@
         <assertion expected-data-source-name="expected_dataset" />
     </test-case>
     
+    <test-case sql="INSERT INTO t_with_generated_id (val) values (?) RETURNING *, id, val aliased_val, t_with_generated_id" db-types="PostgreSQL,openGauss" scenario-types="passthrough"
+               scenario-comments="Test ShardingSphere-Proxy compatibility for PostgreSQL/openGauss insert returning clause">
+        <assertion parameters="foo:String" expected-data-source-name="expected_dataset" />
+    </test-case>
+    
 </integration-test-cases>
diff --git a/test/e2e/suite/src/test/resources/env/scenario/passthrough/data/actual/dataset.xml b/test/e2e/suite/src/test/resources/env/scenario/passthrough/data/actual/dataset.xml
index 5bc3deec6b0..7f8843c1b1a 100644
--- a/test/e2e/suite/src/test/resources/env/scenario/passthrough/data/actual/dataset.xml
+++ b/test/e2e/suite/src/test/resources/env/scenario/passthrough/data/actual/dataset.xml
@@ -37,6 +37,10 @@
         <column name="col_float" type="numeric" />
         <column name="col_double" type="numeric" />
     </metadata>
+    <metadata data-nodes="passthrough.t_with_generated_id">
+        <column name="id" type="numeric" />
+        <column name="val" type="varchar" />
+    </metadata>
     <row data-node="passthrough.t_data_type_integer_unsigned" values="1001, 18446744073709551615, 4294967295, 16777215, 65535, 255" />
     <row data-node="passthrough.t_data_type_integer_unsigned" values="1002, 0, 0, 0, 0, 0" />
 </dataset>
diff --git a/test/e2e/suite/src/test/resources/env/scenario/passthrough/data/actual/init-sql/mysql/01-actual-init.sql b/test/e2e/suite/src/test/resources/env/scenario/passthrough/data/actual/init-sql/mysql/01-actual-init.sql
index a636629c5ba..38900b5495a 100644
--- a/test/e2e/suite/src/test/resources/env/scenario/passthrough/data/actual/init-sql/mysql/01-actual-init.sql
+++ b/test/e2e/suite/src/test/resources/env/scenario/passthrough/data/actual/init-sql/mysql/01-actual-init.sql
@@ -24,3 +24,4 @@ CREATE DATABASE passthrough;
 CREATE TABLE passthrough.t_data_type_integer (id INT PRIMARY KEY, col_bigint BIGINT NOT NULL, col_int INT NOT NULL, col_mediumint MEDIUMINT NOT NULL, col_smallint SMALLINT NOT NULL, col_tinyint TINYINT NOT NULL);
 CREATE TABLE passthrough.t_data_type_integer_unsigned (id INT PRIMARY KEY, col_bigint_unsigned BIGINT UNSIGNED NOT NULL, col_int_unsigned INT UNSIGNED NOT NULL, col_mediumint_unsigned MEDIUMINT UNSIGNED NOT NULL, col_smallint_unsigned SMALLINT UNSIGNED NOT NULL, col_tinyint_unsigned TINYINT UNSIGNED NOT NULL);
 CREATE TABLE passthrough.t_data_type_floating_point (id INT PRIMARY KEY, col_float REAL NOT NULL, col_double DOUBLE PRECISION NOT NULL);
+CREATE TABLE passthrough.t_with_generated_id (id INT AUTO_INCREMENT PRIMARY KEY, val VARCHAR(100) NOT NULL);
diff --git a/test/e2e/suite/src/test/resources/env/scenario/passthrough/data/actual/init-sql/opengauss/01-actual-init.sql b/test/e2e/suite/src/test/resources/env/scenario/passthrough/data/actual/init-sql/opengauss/01-actual-init.sql
index f38cd5a206b..98e8034a889 100644
--- a/test/e2e/suite/src/test/resources/env/scenario/passthrough/data/actual/init-sql/opengauss/01-actual-init.sql
+++ b/test/e2e/suite/src/test/resources/env/scenario/passthrough/data/actual/init-sql/opengauss/01-actual-init.sql
@@ -25,3 +25,4 @@ DROP TABLE IF EXISTS t_data_type_integer;
 CREATE TABLE t_data_type_integer (id INT PRIMARY KEY, col_bigint BIGINT NOT NULL, col_int INT NOT NULL, col_mediumint INT4 NOT NULL, col_smallint SMALLINT NOT NULL, col_tinyint INT2 NOT NULL);
 CREATE TABLE t_data_type_integer_unsigned (id INT PRIMARY KEY, col_bigint_unsigned DECIMAL NOT NULL, col_int_unsigned DECIMAL NOT NULL, col_mediumint_unsigned DECIMAL NOT NULL, col_smallint_unsigned DECIMAL NOT NULL, col_tinyint_unsigned DECIMAL NOT NULL);
 CREATE TABLE t_data_type_floating_point (id INT PRIMARY KEY, col_float REAL NOT NULL, col_double DOUBLE PRECISION NOT NULL);
+CREATE TABLE t_with_generated_id (id SERIAL PRIMARY KEY, val VARCHAR NOT NULL);
diff --git a/test/e2e/suite/src/test/resources/env/scenario/passthrough/data/actual/init-sql/postgresql/01-actual-init.sql b/test/e2e/suite/src/test/resources/env/scenario/passthrough/data/actual/init-sql/postgresql/01-actual-init.sql
index f38cd5a206b..98e8034a889 100644
--- a/test/e2e/suite/src/test/resources/env/scenario/passthrough/data/actual/init-sql/postgresql/01-actual-init.sql
+++ b/test/e2e/suite/src/test/resources/env/scenario/passthrough/data/actual/init-sql/postgresql/01-actual-init.sql
@@ -25,3 +25,4 @@ DROP TABLE IF EXISTS t_data_type_integer;
 CREATE TABLE t_data_type_integer (id INT PRIMARY KEY, col_bigint BIGINT NOT NULL, col_int INT NOT NULL, col_mediumint INT4 NOT NULL, col_smallint SMALLINT NOT NULL, col_tinyint INT2 NOT NULL);
 CREATE TABLE t_data_type_integer_unsigned (id INT PRIMARY KEY, col_bigint_unsigned DECIMAL NOT NULL, col_int_unsigned DECIMAL NOT NULL, col_mediumint_unsigned DECIMAL NOT NULL, col_smallint_unsigned DECIMAL NOT NULL, col_tinyint_unsigned DECIMAL NOT NULL);
 CREATE TABLE t_data_type_floating_point (id INT PRIMARY KEY, col_float REAL NOT NULL, col_double DOUBLE PRECISION NOT NULL);
+CREATE TABLE t_with_generated_id (id SERIAL PRIMARY KEY, val VARCHAR NOT NULL);
diff --git a/test/e2e/suite/src/test/resources/env/scenario/passthrough/data/expected/dataset.xml b/test/e2e/suite/src/test/resources/env/scenario/passthrough/data/expected/dataset.xml
index 0998b8b34d3..ba9f4969bbb 100644
--- a/test/e2e/suite/src/test/resources/env/scenario/passthrough/data/expected/dataset.xml
+++ b/test/e2e/suite/src/test/resources/env/scenario/passthrough/data/expected/dataset.xml
@@ -37,6 +37,10 @@
         <column name="col_float" type="numeric" />
         <column name="col_double" type="numeric" />
     </metadata>
+    <metadata data-nodes="expected_dataset.t_with_generated_id">
+        <column name="id" type="numeric" />
+        <column name="val" type="varchar" />
+    </metadata>
     <row data-node="expected_dataset.t_data_type_integer_unsigned" values="1001, 18446744073709551615, 4294967295, 16777215, 65535, 255" />
     <row data-node="expected_dataset.t_data_type_integer_unsigned" values="1002, 0, 0, 0, 0, 0" />
 </dataset>
diff --git a/test/e2e/suite/src/test/resources/env/scenario/passthrough/data/expected/init-sql/mysql/01-expected-init.sql b/test/e2e/suite/src/test/resources/env/scenario/passthrough/data/expected/init-sql/mysql/01-expected-init.sql
index eb5100438ac..333ee9f7a68 100644
--- a/test/e2e/suite/src/test/resources/env/scenario/passthrough/data/expected/init-sql/mysql/01-expected-init.sql
+++ b/test/e2e/suite/src/test/resources/env/scenario/passthrough/data/expected/init-sql/mysql/01-expected-init.sql
@@ -24,3 +24,4 @@ CREATE DATABASE expected_dataset;
 CREATE TABLE expected_dataset.t_data_type_integer (id INT PRIMARY KEY, col_bigint BIGINT NOT NULL, col_int INT NOT NULL, col_mediumint MEDIUMINT NOT NULL, col_smallint SMALLINT NOT NULL, col_tinyint TINYINT NOT NULL);
 CREATE TABLE expected_dataset.t_data_type_integer_unsigned (id INT PRIMARY KEY, col_bigint_unsigned BIGINT UNSIGNED NOT NULL, col_int_unsigned INT UNSIGNED NOT NULL, col_mediumint_unsigned MEDIUMINT UNSIGNED NOT NULL, col_smallint_unsigned SMALLINT UNSIGNED NOT NULL, col_tinyint_unsigned TINYINT UNSIGNED NOT NULL);
 CREATE TABLE expected_dataset.t_data_type_floating_point (id INT PRIMARY KEY, col_float REAL NOT NULL, col_double DOUBLE PRECISION NOT NULL);
+CREATE TABLE expected_dataset.t_with_generated_id (id INT AUTO_INCREMENT PRIMARY KEY, val VARCHAR(100) NOT NULL);
diff --git a/test/e2e/suite/src/test/resources/env/scenario/passthrough/data/expected/init-sql/opengauss/01-expected-init.sql b/test/e2e/suite/src/test/resources/env/scenario/passthrough/data/expected/init-sql/opengauss/01-expected-init.sql
index ccb682b9811..0723203fbea 100644
--- a/test/e2e/suite/src/test/resources/env/scenario/passthrough/data/expected/init-sql/opengauss/01-expected-init.sql
+++ b/test/e2e/suite/src/test/resources/env/scenario/passthrough/data/expected/init-sql/opengauss/01-expected-init.sql
@@ -26,3 +26,4 @@ DROP TABLE IF EXISTS t_data_type_integer;
 CREATE TABLE t_data_type_integer (id INT PRIMARY KEY, col_bigint BIGINT NOT NULL, col_int INT NOT NULL, col_mediumint INT4 NOT NULL, col_smallint SMALLINT NOT NULL, col_tinyint INT2 NOT NULL);
 CREATE TABLE t_data_type_integer_unsigned (id INT PRIMARY KEY, col_bigint_unsigned DECIMAL NOT NULL, col_int_unsigned DECIMAL NOT NULL, col_mediumint_unsigned DECIMAL NOT NULL, col_smallint_unsigned DECIMAL NOT NULL, col_tinyint_unsigned DECIMAL NOT NULL);
 CREATE TABLE t_data_type_floating_point (id INT PRIMARY KEY, col_float REAL NOT NULL, col_double DOUBLE PRECISION NOT NULL);
+CREATE TABLE t_with_generated_id (id SERIAL PRIMARY KEY, val VARCHAR NOT NULL);
diff --git a/test/e2e/suite/src/test/resources/env/scenario/passthrough/data/expected/init-sql/postgresql/01-expected-init.sql b/test/e2e/suite/src/test/resources/env/scenario/passthrough/data/expected/init-sql/postgresql/01-expected-init.sql
index 62a718ca9c8..ad29af47d2b 100644
--- a/test/e2e/suite/src/test/resources/env/scenario/passthrough/data/expected/init-sql/postgresql/01-expected-init.sql
+++ b/test/e2e/suite/src/test/resources/env/scenario/passthrough/data/expected/init-sql/postgresql/01-expected-init.sql
@@ -26,3 +26,4 @@ DROP TABLE IF EXISTS t_data_type_integer;
 CREATE TABLE t_data_type_integer (id INT PRIMARY KEY, col_bigint BIGINT NOT NULL, col_int INT NOT NULL, col_mediumint INT4 NOT NULL, col_smallint SMALLINT NOT NULL, col_tinyint INT2 NOT NULL);
 CREATE TABLE t_data_type_integer_unsigned (id INT PRIMARY KEY, col_bigint_unsigned DECIMAL NOT NULL, col_int_unsigned DECIMAL NOT NULL, col_mediumint_unsigned DECIMAL NOT NULL, col_smallint_unsigned DECIMAL NOT NULL, col_tinyint_unsigned DECIMAL NOT NULL);
 CREATE TABLE t_data_type_floating_point (id INT PRIMARY KEY, col_float REAL NOT NULL, col_double DOUBLE PRECISION NOT NULL);
+CREATE TABLE t_with_generated_id (id SERIAL PRIMARY KEY, val VARCHAR NOT NULL);