diff --git a/src/backend/columnar/sql/columnar--11.0-3--11.0-4.sql b/src/backend/columnar/sql/columnar--11.0-3--11.0-4.sql index e69de29bb..522c81e0a 100644 --- a/src/backend/columnar/sql/columnar--11.0-3--11.0-4.sql +++ b/src/backend/columnar/sql/columnar--11.0-3--11.0-4.sql @@ -0,0 +1 @@ +-- no changes needed \ No newline at end of file diff --git a/src/backend/columnar/sql/downgrades/citus--11.0-4--11.0-3.sql b/src/backend/columnar/sql/downgrades/citus--11.0-4--11.0-3.sql index e69de29bb..e12565da5 100644 --- a/src/backend/columnar/sql/downgrades/citus--11.0-4--11.0-3.sql +++ b/src/backend/columnar/sql/downgrades/citus--11.0-4--11.0-3.sql @@ -0,0 +1,3 @@ +DROP PROCEDURE pg_catalog.citus_finalize_upgrade_to_citus11(enforce_version_check bool); +#include "../udfs/citus_finalize_upgrade_to_citus11/11.0-3.sql" +#include "../udfs/citus_finish_citus_upgrade/11.0-2.sql" diff --git a/src/test/regress/expected/multi_extension.out b/src/test/regress/expected/multi_extension.out index 9adf4ce08..786eca40a 100644 --- a/src/test/regress/expected/multi_extension.out +++ b/src/test/regress/expected/multi_extension.out @@ -1067,6 +1067,26 @@ SELECT * FROM multi_extension.print_extension_changes(); --------------------------------------------------------------------- (0 rows) +-- Snapshot of state at 11.0-4 +ALTER EXTENSION citus UPDATE TO '11.0-4'; +SELECT * FROM multi_extension.print_extension_changes(); + previous_object | current_object +--------------------------------------------------------------------- + function citus_finalize_upgrade_to_citus11(boolean) boolean | + | function citus_finalize_upgrade_to_citus11(boolean) +(2 rows) + +-- Test downgrade to 11.0-3 from 11.0-4 +ALTER EXTENSION citus UPDATE TO '11.0-3'; +ERROR: extension "citus" has no update path from version "11.0-4" to version "11.0-3" +ALTER EXTENSION citus UPDATE TO '11.0-4'; +NOTICE: version "11.0-4" of extension "citus" is already installed +-- Should be empty result since upgrade+downgrade should be a no-op +SELECT * FROM multi_extension.print_extension_changes(); + previous_object | current_object +--------------------------------------------------------------------- +(0 rows) + DROP TABLE multi_extension.prev_objects, multi_extension.extension_diff; -- show running version SHOW citus.version;