From d1223bd6cccaa6888819920641ba9e56f205ff66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hanefi=20=C3=96nald=C4=B1?= Date: Thu, 2 Apr 2020 17:30:25 +0300 Subject: [PATCH] Remove migration paths to 9.3-1, introduce 9.3-2 --- src/backend/distributed/citus.control | 2 +- .../distributed/sql/citus--9.2-2--9.2-4.sql | 2 ++ .../distributed/sql/citus--9.2-2--9.3-1.sql | 6 ------ .../distributed/sql/citus--9.2-4--9.3-2.sql | 6 ++++++ .../distributed/sql/citus--9.3-1--9.2-4.sql | 18 ++++++++++++++++++ .../{9.3-1.sql => 9.3-2.sql} | 0 .../{9.3-1.sql => 9.3-2.sql} | 0 src/test/regress/expected/multi_extension.out | 12 +++++++++++- src/test/regress/sql/multi_extension.sql | 9 +++++++++ 9 files changed, 47 insertions(+), 8 deletions(-) create mode 100644 src/backend/distributed/sql/citus--9.2-2--9.2-4.sql delete mode 100644 src/backend/distributed/sql/citus--9.2-2--9.3-1.sql create mode 100644 src/backend/distributed/sql/citus--9.2-4--9.3-2.sql create mode 100644 src/backend/distributed/sql/citus--9.3-1--9.2-4.sql rename src/backend/distributed/sql/udfs/citus_extradata_container/{9.3-1.sql => 9.3-2.sql} (100%) rename src/backend/distributed/sql/udfs/update_distributed_table_colocation/{9.3-1.sql => 9.3-2.sql} (100%) diff --git a/src/backend/distributed/citus.control b/src/backend/distributed/citus.control index 3fdb30108..0dca89cb5 100644 --- a/src/backend/distributed/citus.control +++ b/src/backend/distributed/citus.control @@ -1,6 +1,6 @@ # Citus extension comment = 'Citus distributed database' -default_version = '9.3-1' +default_version = '9.3-2' module_pathname = '$libdir/citus' relocatable = false schema = pg_catalog diff --git a/src/backend/distributed/sql/citus--9.2-2--9.2-4.sql b/src/backend/distributed/sql/citus--9.2-2--9.2-4.sql new file mode 100644 index 000000000..ee91f0823 --- /dev/null +++ b/src/backend/distributed/sql/citus--9.2-2--9.2-4.sql @@ -0,0 +1,2 @@ +/* we've some issues with versioning, and we're fixing it by bumping version */ +/* from 9.2-2 to 9.2-4 see #3673 for details */ diff --git a/src/backend/distributed/sql/citus--9.2-2--9.3-1.sql b/src/backend/distributed/sql/citus--9.2-2--9.3-1.sql deleted file mode 100644 index 53f02678e..000000000 --- a/src/backend/distributed/sql/citus--9.2-2--9.3-1.sql +++ /dev/null @@ -1,6 +0,0 @@ -/* citus--9.2-2--9.3-1 */ - -/* bump version to 9.3-1 */ - -#include "udfs/citus_extradata_container/9.3-1.sql" -#include "udfs/update_distributed_table_colocation/9.3-1.sql" diff --git a/src/backend/distributed/sql/citus--9.2-4--9.3-2.sql b/src/backend/distributed/sql/citus--9.2-4--9.3-2.sql new file mode 100644 index 000000000..0f763f4d7 --- /dev/null +++ b/src/backend/distributed/sql/citus--9.2-4--9.3-2.sql @@ -0,0 +1,6 @@ +/* citus--9.2-4--9.3-2 */ + +/* bump version to 9.3-2 */ + +#include "udfs/citus_extradata_container/9.3-2.sql" +#include "udfs/update_distributed_table_colocation/9.3-2.sql" diff --git a/src/backend/distributed/sql/citus--9.3-1--9.2-4.sql b/src/backend/distributed/sql/citus--9.3-1--9.2-4.sql new file mode 100644 index 000000000..460807c06 --- /dev/null +++ b/src/backend/distributed/sql/citus--9.3-1--9.2-4.sql @@ -0,0 +1,18 @@ +/* citus--9.3-1--9.2-4 */ +/* this is an unusual upgrade path, we are doing it because */ +/* we have accidentally tagged master branch with v9.2-3 */ +/* however master branch was already bumped to v9.3-1 */ +/* with this file, we are undoing the catalog changes that */ +/* have happened between 9.2-2 to 9.3-1, and making 9.2-4 */ +/* as the release that we can */ + +-- undo the changes for citus_extradata_container that happened on citus 9.3 +DROP FUNCTION IF EXISTS pg_catalog.citus_extradata_container(INTERNAL); +CREATE FUNCTION pg_catalog.citus_extradata_container(INTERNAL) + RETURNS void + LANGUAGE C + AS 'MODULE_PATHNAME', $$citus_extradata_container$$; +COMMENT ON FUNCTION pg_catalog.citus_extradata_container(INTERNAL) + IS 'placeholder function to store additional data in postgres node trees'; + +DROP FUNCTION IF EXISTS pg_catalog.update_distributed_table_colocation(regclass, text); diff --git a/src/backend/distributed/sql/udfs/citus_extradata_container/9.3-1.sql b/src/backend/distributed/sql/udfs/citus_extradata_container/9.3-2.sql similarity index 100% rename from src/backend/distributed/sql/udfs/citus_extradata_container/9.3-1.sql rename to src/backend/distributed/sql/udfs/citus_extradata_container/9.3-2.sql diff --git a/src/backend/distributed/sql/udfs/update_distributed_table_colocation/9.3-1.sql b/src/backend/distributed/sql/udfs/update_distributed_table_colocation/9.3-2.sql similarity index 100% rename from src/backend/distributed/sql/udfs/update_distributed_table_colocation/9.3-1.sql rename to src/backend/distributed/sql/udfs/update_distributed_table_colocation/9.3-2.sql diff --git a/src/test/regress/expected/multi_extension.out b/src/test/regress/expected/multi_extension.out index cccac9d55..9af8a7df0 100644 --- a/src/test/regress/expected/multi_extension.out +++ b/src/test/regress/expected/multi_extension.out @@ -119,7 +119,17 @@ ALTER EXTENSION citus UPDATE TO '9.0-1'; ALTER EXTENSION citus UPDATE TO '9.0-2'; ALTER EXTENSION citus UPDATE TO '9.1-1'; ALTER EXTENSION citus UPDATE TO '9.2-1'; -ALTER EXTENSION citus UPDATE TO '9.3-1'; +ALTER EXTENSION citus UPDATE TO '9.2-2'; +ALTER EXTENSION citus UPDATE TO '9.2-4'; +/* + * As we mistakenly bumped schema version to 9.3-1 (in previous + * release), we support updating citus schema from 9.3-1 to 9.2-4, + * but we do not support explicitly updating it to to 9.3-1. + * Hence below update (to 9.3-1) command should fail. + */ + ALTER EXTENSION citus UPDATE TO '9.3-1'; +ERROR: extension "citus" has no update path from version "9.2-4" to version "9.3-1" +ALTER EXTENSION citus UPDATE TO '9.3-2'; -- show running version SHOW citus.version; citus.version diff --git a/src/test/regress/sql/multi_extension.sql b/src/test/regress/sql/multi_extension.sql index 5c51ed6ec..5071f378f 100644 --- a/src/test/regress/sql/multi_extension.sql +++ b/src/test/regress/sql/multi_extension.sql @@ -120,7 +120,16 @@ ALTER EXTENSION citus UPDATE TO '9.0-1'; ALTER EXTENSION citus UPDATE TO '9.0-2'; ALTER EXTENSION citus UPDATE TO '9.1-1'; ALTER EXTENSION citus UPDATE TO '9.2-1'; +ALTER EXTENSION citus UPDATE TO '9.2-2'; +ALTER EXTENSION citus UPDATE TO '9.2-4'; +/* + * As we mistakenly bumped schema version to 9.3-1 (in previous + * release), we support updating citus schema from 9.3-1 to 9.2-4, + * but we do not support explicitly updating it to to 9.3-1. + * Hence below update (to 9.3-1) command should fail. + */ ALTER EXTENSION citus UPDATE TO '9.3-1'; +ALTER EXTENSION citus UPDATE TO '9.3-2'; -- show running version SHOW citus.version;