From 6afa4f2e62ff41baa0a86c6fef58a69b2014eaad Mon Sep 17 00:00:00 2001 From: Onur Tirtir Date: Wed, 21 Apr 2021 15:20:53 +0300 Subject: [PATCH 1/2] Export upgrade_test_old_citus_version to use in some upgrade tests --- .circleci/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7ec198b50..878c532fe 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -195,6 +195,7 @@ jobs: # run make check-citus-upgrade for all citus versions # the image has ${CITUS_VERSIONS} set with all verions it contains the binaries of for citus_version in ${CITUS_VERSIONS}; do \ + export upgrade_test_old_citus_version="$citus_version"; \ gosu circleci \ make -C src/test/regress \ check-citus-upgrade \ From 889ad6fa8c5c8bf07ab1e51e06ed8aa7646703ae Mon Sep 17 00:00:00 2001 From: Onur Tirtir Date: Wed, 21 Apr 2021 15:19:10 +0300 Subject: [PATCH 2/2] Run some upgrade tests only when old version=9.0 --- .../upgrade_partition_constraints_after.out | 15 +++++++++++++++ .../upgrade_partition_constraints_after_0.out | 14 ++++++++++++++ .../upgrade_partition_constraints_before.out | 15 +++++++++++++++ .../upgrade_partition_constraints_before_0.out | 14 ++++++++++++++ .../upgrade_pg_dist_object_test_after.out | 15 +++++++++++++++ .../upgrade_pg_dist_object_test_after_0.out | 14 ++++++++++++++ .../upgrade_pg_dist_object_test_before.out | 15 +++++++++++++++ .../upgrade_pg_dist_object_test_before_0.out | 14 ++++++++++++++ .../sql/upgrade_partition_constraints_after.sql | 11 +++++++++++ .../sql/upgrade_partition_constraints_before.sql | 11 +++++++++++ .../sql/upgrade_pg_dist_object_test_after.sql | 11 +++++++++++ .../sql/upgrade_pg_dist_object_test_before.sql | 11 +++++++++++ 12 files changed, 160 insertions(+) create mode 100644 src/test/regress/expected/upgrade_partition_constraints_after_0.out create mode 100644 src/test/regress/expected/upgrade_partition_constraints_before_0.out create mode 100644 src/test/regress/expected/upgrade_pg_dist_object_test_after_0.out create mode 100644 src/test/regress/expected/upgrade_pg_dist_object_test_before_0.out diff --git a/src/test/regress/expected/upgrade_partition_constraints_after.out b/src/test/regress/expected/upgrade_partition_constraints_after.out index a9ddf39ee..62d6c860c 100644 --- a/src/test/regress/expected/upgrade_partition_constraints_after.out +++ b/src/test/regress/expected/upgrade_partition_constraints_after.out @@ -1,3 +1,18 @@ +-- run this test only when old citus version is 9.0 +\set upgrade_test_old_citus_version `echo "$upgrade_test_old_citus_version"` +SELECT substring(:'upgrade_test_old_citus_version', 'v(\d+)\.\d+\.\d+')::int = 9 AND + substring(:'upgrade_test_old_citus_version', 'v\d+\.(\d+)\.\d+')::int = 0 +AS upgrade_test_old_citus_version_e_9_0; + upgrade_test_old_citus_version_e_9_0 +--------------------------------------------------------------------- + t +(1 row) + +\gset +\if :upgrade_test_old_citus_version_e_9_0 +\else +\q +\endif -- test cases for #3970 SET search_path = test_3970; --5. add a partition diff --git a/src/test/regress/expected/upgrade_partition_constraints_after_0.out b/src/test/regress/expected/upgrade_partition_constraints_after_0.out new file mode 100644 index 000000000..cb52846b8 --- /dev/null +++ b/src/test/regress/expected/upgrade_partition_constraints_after_0.out @@ -0,0 +1,14 @@ +-- run this test only when old citus version is 9.0 +\set upgrade_test_old_citus_version `echo "$upgrade_test_old_citus_version"` +SELECT substring(:'upgrade_test_old_citus_version', 'v(\d+)\.\d+\.\d+')::int = 9 AND + substring(:'upgrade_test_old_citus_version', 'v\d+\.(\d+)\.\d+')::int = 0 +AS upgrade_test_old_citus_version_e_9_0; + upgrade_test_old_citus_version_e_9_0 +--------------------------------------------------------------------- + f +(1 row) + +\gset +\if :upgrade_test_old_citus_version_e_9_0 +\else +\q diff --git a/src/test/regress/expected/upgrade_partition_constraints_before.out b/src/test/regress/expected/upgrade_partition_constraints_before.out index e19c77f46..881b3131f 100644 --- a/src/test/regress/expected/upgrade_partition_constraints_before.out +++ b/src/test/regress/expected/upgrade_partition_constraints_before.out @@ -1,3 +1,18 @@ +-- run this test only when old citus version is 9.0 +\set upgrade_test_old_citus_version `echo "$upgrade_test_old_citus_version"` +SELECT substring(:'upgrade_test_old_citus_version', 'v(\d+)\.\d+\.\d+')::int = 9 AND + substring(:'upgrade_test_old_citus_version', 'v\d+\.(\d+)\.\d+')::int = 0 +AS upgrade_test_old_citus_version_e_9_0; + upgrade_test_old_citus_version_e_9_0 +--------------------------------------------------------------------- + t +(1 row) + +\gset +\if :upgrade_test_old_citus_version_e_9_0 +\else +\q +\endif -- test cases for #3970 CREATE SCHEMA test_3970; SET search_path = test_3970; diff --git a/src/test/regress/expected/upgrade_partition_constraints_before_0.out b/src/test/regress/expected/upgrade_partition_constraints_before_0.out new file mode 100644 index 000000000..cb52846b8 --- /dev/null +++ b/src/test/regress/expected/upgrade_partition_constraints_before_0.out @@ -0,0 +1,14 @@ +-- run this test only when old citus version is 9.0 +\set upgrade_test_old_citus_version `echo "$upgrade_test_old_citus_version"` +SELECT substring(:'upgrade_test_old_citus_version', 'v(\d+)\.\d+\.\d+')::int = 9 AND + substring(:'upgrade_test_old_citus_version', 'v\d+\.(\d+)\.\d+')::int = 0 +AS upgrade_test_old_citus_version_e_9_0; + upgrade_test_old_citus_version_e_9_0 +--------------------------------------------------------------------- + f +(1 row) + +\gset +\if :upgrade_test_old_citus_version_e_9_0 +\else +\q diff --git a/src/test/regress/expected/upgrade_pg_dist_object_test_after.out b/src/test/regress/expected/upgrade_pg_dist_object_test_after.out index d2d03859a..5a5d8cb63 100644 --- a/src/test/regress/expected/upgrade_pg_dist_object_test_after.out +++ b/src/test/regress/expected/upgrade_pg_dist_object_test_after.out @@ -1,3 +1,18 @@ +-- run this test only when old citus version is 9.0 +\set upgrade_test_old_citus_version `echo "$upgrade_test_old_citus_version"` +SELECT substring(:'upgrade_test_old_citus_version', 'v(\d+)\.\d+\.\d+')::int = 9 AND + substring(:'upgrade_test_old_citus_version', 'v\d+\.(\d+)\.\d+')::int = 0 +AS upgrade_test_old_citus_version_e_9_0; + upgrade_test_old_citus_version_e_9_0 +--------------------------------------------------------------------- + t +(1 row) + +\gset +\if :upgrade_test_old_citus_version_e_9_0 +\else +\q +\endif -- drop objects from previous test (uprade_basic_after.sql) for a clean test -- drop upgrade_basic schema and switch back to public schema SET search_path to public; diff --git a/src/test/regress/expected/upgrade_pg_dist_object_test_after_0.out b/src/test/regress/expected/upgrade_pg_dist_object_test_after_0.out new file mode 100644 index 000000000..cb52846b8 --- /dev/null +++ b/src/test/regress/expected/upgrade_pg_dist_object_test_after_0.out @@ -0,0 +1,14 @@ +-- run this test only when old citus version is 9.0 +\set upgrade_test_old_citus_version `echo "$upgrade_test_old_citus_version"` +SELECT substring(:'upgrade_test_old_citus_version', 'v(\d+)\.\d+\.\d+')::int = 9 AND + substring(:'upgrade_test_old_citus_version', 'v\d+\.(\d+)\.\d+')::int = 0 +AS upgrade_test_old_citus_version_e_9_0; + upgrade_test_old_citus_version_e_9_0 +--------------------------------------------------------------------- + f +(1 row) + +\gset +\if :upgrade_test_old_citus_version_e_9_0 +\else +\q diff --git a/src/test/regress/expected/upgrade_pg_dist_object_test_before.out b/src/test/regress/expected/upgrade_pg_dist_object_test_before.out index d6da445d5..4ba0e3aa9 100644 --- a/src/test/regress/expected/upgrade_pg_dist_object_test_before.out +++ b/src/test/regress/expected/upgrade_pg_dist_object_test_before.out @@ -1,3 +1,18 @@ +-- run this test only when old citus version is 9.0 +\set upgrade_test_old_citus_version `echo "$upgrade_test_old_citus_version"` +SELECT substring(:'upgrade_test_old_citus_version', 'v(\d+)\.\d+\.\d+')::int = 9 AND + substring(:'upgrade_test_old_citus_version', 'v\d+\.(\d+)\.\d+')::int = 0 +AS upgrade_test_old_citus_version_e_9_0; + upgrade_test_old_citus_version_e_9_0 +--------------------------------------------------------------------- + t +(1 row) + +\gset +\if :upgrade_test_old_citus_version_e_9_0 +\else +\q +\endif -- create some objects that we just included into distributed object -- infrastructure in 9.1 versions but not included in 9.0.2 -- extension propagation -- diff --git a/src/test/regress/expected/upgrade_pg_dist_object_test_before_0.out b/src/test/regress/expected/upgrade_pg_dist_object_test_before_0.out new file mode 100644 index 000000000..cb52846b8 --- /dev/null +++ b/src/test/regress/expected/upgrade_pg_dist_object_test_before_0.out @@ -0,0 +1,14 @@ +-- run this test only when old citus version is 9.0 +\set upgrade_test_old_citus_version `echo "$upgrade_test_old_citus_version"` +SELECT substring(:'upgrade_test_old_citus_version', 'v(\d+)\.\d+\.\d+')::int = 9 AND + substring(:'upgrade_test_old_citus_version', 'v\d+\.(\d+)\.\d+')::int = 0 +AS upgrade_test_old_citus_version_e_9_0; + upgrade_test_old_citus_version_e_9_0 +--------------------------------------------------------------------- + f +(1 row) + +\gset +\if :upgrade_test_old_citus_version_e_9_0 +\else +\q diff --git a/src/test/regress/sql/upgrade_partition_constraints_after.sql b/src/test/regress/sql/upgrade_partition_constraints_after.sql index 312b67043..447f49762 100644 --- a/src/test/regress/sql/upgrade_partition_constraints_after.sql +++ b/src/test/regress/sql/upgrade_partition_constraints_after.sql @@ -1,3 +1,14 @@ +-- run this test only when old citus version is 9.0 +\set upgrade_test_old_citus_version `echo "$upgrade_test_old_citus_version"` +SELECT substring(:'upgrade_test_old_citus_version', 'v(\d+)\.\d+\.\d+')::int = 9 AND + substring(:'upgrade_test_old_citus_version', 'v\d+\.(\d+)\.\d+')::int = 0 +AS upgrade_test_old_citus_version_e_9_0; +\gset +\if :upgrade_test_old_citus_version_e_9_0 +\else +\q +\endif + -- test cases for #3970 SET search_path = test_3970; diff --git a/src/test/regress/sql/upgrade_partition_constraints_before.sql b/src/test/regress/sql/upgrade_partition_constraints_before.sql index d74275f23..8151841c1 100644 --- a/src/test/regress/sql/upgrade_partition_constraints_before.sql +++ b/src/test/regress/sql/upgrade_partition_constraints_before.sql @@ -1,3 +1,14 @@ +-- run this test only when old citus version is 9.0 +\set upgrade_test_old_citus_version `echo "$upgrade_test_old_citus_version"` +SELECT substring(:'upgrade_test_old_citus_version', 'v(\d+)\.\d+\.\d+')::int = 9 AND + substring(:'upgrade_test_old_citus_version', 'v\d+\.(\d+)\.\d+')::int = 0 +AS upgrade_test_old_citus_version_e_9_0; +\gset +\if :upgrade_test_old_citus_version_e_9_0 +\else +\q +\endif + -- test cases for #3970 CREATE SCHEMA test_3970; SET search_path = test_3970; diff --git a/src/test/regress/sql/upgrade_pg_dist_object_test_after.sql b/src/test/regress/sql/upgrade_pg_dist_object_test_after.sql index a086361d1..4adb0a421 100644 --- a/src/test/regress/sql/upgrade_pg_dist_object_test_after.sql +++ b/src/test/regress/sql/upgrade_pg_dist_object_test_after.sql @@ -1,3 +1,14 @@ +-- run this test only when old citus version is 9.0 +\set upgrade_test_old_citus_version `echo "$upgrade_test_old_citus_version"` +SELECT substring(:'upgrade_test_old_citus_version', 'v(\d+)\.\d+\.\d+')::int = 9 AND + substring(:'upgrade_test_old_citus_version', 'v\d+\.(\d+)\.\d+')::int = 0 +AS upgrade_test_old_citus_version_e_9_0; +\gset +\if :upgrade_test_old_citus_version_e_9_0 +\else +\q +\endif + -- drop objects from previous test (uprade_basic_after.sql) for a clean test -- drop upgrade_basic schema and switch back to public schema SET search_path to public; diff --git a/src/test/regress/sql/upgrade_pg_dist_object_test_before.sql b/src/test/regress/sql/upgrade_pg_dist_object_test_before.sql index c918b6fee..3ed8c6483 100644 --- a/src/test/regress/sql/upgrade_pg_dist_object_test_before.sql +++ b/src/test/regress/sql/upgrade_pg_dist_object_test_before.sql @@ -1,3 +1,14 @@ +-- run this test only when old citus version is 9.0 +\set upgrade_test_old_citus_version `echo "$upgrade_test_old_citus_version"` +SELECT substring(:'upgrade_test_old_citus_version', 'v(\d+)\.\d+\.\d+')::int = 9 AND + substring(:'upgrade_test_old_citus_version', 'v\d+\.(\d+)\.\d+')::int = 0 +AS upgrade_test_old_citus_version_e_9_0; +\gset +\if :upgrade_test_old_citus_version_e_9_0 +\else +\q +\endif + -- create some objects that we just included into distributed object -- infrastructure in 9.1 versions but not included in 9.0.2