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);