diff --git a/src/backend/distributed/sql/downgrades/citus--11.0-2--11.0-1.sql b/src/backend/distributed/sql/downgrades/citus--11.0-2--11.0-1.sql index 7743d5179..3cbbcc883 100644 --- a/src/backend/distributed/sql/downgrades/citus--11.0-2--11.0-1.sql +++ b/src/backend/distributed/sql/downgrades/citus--11.0-2--11.0-1.sql @@ -1,5 +1,6 @@ #include "../udfs/citus_shards_on_worker/11.0-1.sql" #include "../udfs/citus_shard_indexes_on_worker/11.0-1.sql" +#include "../udfs/citus_finalize_upgrade_to_citus11/11.0-1.sql" DROP FUNCTION pg_catalog.citus_disable_node(text, integer, bool); CREATE FUNCTION pg_catalog.citus_disable_node(nodename text, nodeport integer, force bool default false) @@ -15,5 +16,4 @@ DROP FUNCTION pg_catalog.citus_is_coordinator(); DROP FUNCTION pg_catalog.run_command_on_coordinator(text,boolean); DROP FUNCTION pg_catalog.start_metadata_sync_to_all_nodes(); -DROP FUNCTION pg_catalog.citus_finalize_upgrade_to_citus11(boolean); DROP PROCEDURE pg_catalog.citus_finish_citus_upgrade(); diff --git a/src/test/regress/expected/multi_extension.out b/src/test/regress/expected/multi_extension.out index 7aea0ce3e..3f1482715 100644 --- a/src/test/regress/expected/multi_extension.out +++ b/src/test/regress/expected/multi_extension.out @@ -1031,6 +1031,15 @@ SELECT * FROM multi_extension.print_extension_changes(); | view citus_stat_activity (41 rows) +-- Test downgrade to 11.0-1 from 11.0-2 +ALTER EXTENSION citus UPDATE TO '11.0-2'; +ALTER EXTENSION citus UPDATE TO '11.0-1'; +-- 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) + -- Snapshot of state at 11.0-2 ALTER EXTENSION citus UPDATE TO '11.0-2'; SELECT * FROM multi_extension.print_extension_changes(); @@ -1042,9 +1051,10 @@ SELECT * FROM multi_extension.print_extension_changes(); | function start_metadata_sync_to_all_nodes() boolean (4 rows) --- Test downgrade script (result should be empty) -ALTER EXTENSION citus UPDATE TO '11.0-1'; +-- Test downgrade to 11.0-2 from 11.0-3 +ALTER EXTENSION citus UPDATE TO '11.0-3'; ALTER EXTENSION citus UPDATE TO '11.0-2'; +-- Should be empty result since upgrade+downgrade should be a no-op SELECT * FROM multi_extension.print_extension_changes(); previous_object | current_object --------------------------------------------------------------------- @@ -1057,9 +1067,10 @@ SELECT * FROM multi_extension.print_extension_changes(); --------------------------------------------------------------------- (0 rows) --- Test downgrade script (result should be empty) -ALTER EXTENSION citus UPDATE TO '11.0-2'; +-- Test downgrade to 11.0-3 from 11.1-1 +ALTER EXTENSION citus UPDATE TO '11.1-1'; ALTER EXTENSION citus UPDATE TO '11.0-3'; +-- Should be empty result since upgrade+downgrade should be a no-op SELECT * FROM multi_extension.print_extension_changes(); previous_object | current_object --------------------------------------------------------------------- @@ -1099,14 +1110,6 @@ SELECT * FROM multi_extension.print_extension_changes(); | view columnar.stripe (27 rows) --- Test downgrade script (result should be empty) -ALTER EXTENSION citus UPDATE TO '11.0-3'; -ALTER EXTENSION citus UPDATE TO '11.1-1'; -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; diff --git a/src/test/regress/sql/multi_extension.sql b/src/test/regress/sql/multi_extension.sql index 758e3cfcd..0ae3aa9e0 100644 --- a/src/test/regress/sql/multi_extension.sql +++ b/src/test/regress/sql/multi_extension.sql @@ -459,33 +459,36 @@ SELECT * FROM multi_extension.print_extension_changes(); ALTER EXTENSION citus UPDATE TO '11.0-1'; SELECT * FROM multi_extension.print_extension_changes(); +-- Test downgrade to 11.0-1 from 11.0-2 +ALTER EXTENSION citus UPDATE TO '11.0-2'; +ALTER EXTENSION citus UPDATE TO '11.0-1'; +-- Should be empty result since upgrade+downgrade should be a no-op +SELECT * FROM multi_extension.print_extension_changes(); + -- Snapshot of state at 11.0-2 ALTER EXTENSION citus UPDATE TO '11.0-2'; SELECT * FROM multi_extension.print_extension_changes(); --- Test downgrade script (result should be empty) -ALTER EXTENSION citus UPDATE TO '11.0-1'; +-- Test downgrade to 11.0-2 from 11.0-3 +ALTER EXTENSION citus UPDATE TO '11.0-3'; ALTER EXTENSION citus UPDATE TO '11.0-2'; +-- Should be empty result since upgrade+downgrade should be a no-op SELECT * FROM multi_extension.print_extension_changes(); -- Snapshot of state at 11.0-3 ALTER EXTENSION citus UPDATE TO '11.0-3'; SELECT * FROM multi_extension.print_extension_changes(); --- Test downgrade script (result should be empty) -ALTER EXTENSION citus UPDATE TO '11.0-2'; +-- Test downgrade to 11.0-3 from 11.1-1 +ALTER EXTENSION citus UPDATE TO '11.1-1'; ALTER EXTENSION citus UPDATE TO '11.0-3'; +-- Should be empty result since upgrade+downgrade should be a no-op SELECT * FROM multi_extension.print_extension_changes(); -- Snapshot of state at 11.1-1 ALTER EXTENSION citus UPDATE TO '11.1-1'; SELECT * FROM multi_extension.print_extension_changes(); --- Test downgrade script (result should be empty) -ALTER EXTENSION citus UPDATE TO '11.0-3'; -ALTER EXTENSION citus UPDATE TO '11.1-1'; -SELECT * FROM multi_extension.print_extension_changes(); - DROP TABLE multi_extension.prev_objects, multi_extension.extension_diff; -- show running version