diff --git a/src/backend/distributed/sql/citus--11.2-1--11.2-2.sql b/src/backend/distributed/sql/citus--11.2-1--11.2-2.sql new file mode 100644 index 000000000..2a4051541 --- /dev/null +++ b/src/backend/distributed/sql/citus--11.2-1--11.2-2.sql @@ -0,0 +1,2 @@ +-- citus--11.2-1--11.2-2 +#include "udfs/worker_adjust_identity_column_seq_ranges/11.2-2.sql" diff --git a/src/backend/distributed/sql/citus--11.2-1--11.3-1.sql b/src/backend/distributed/sql/citus--11.2-2--11.3-1.sql similarity index 93% rename from src/backend/distributed/sql/citus--11.2-1--11.3-1.sql rename to src/backend/distributed/sql/citus--11.2-2--11.3-1.sql index fd14cd90d..a0826d22f 100644 --- a/src/backend/distributed/sql/citus--11.2-1--11.3-1.sql +++ b/src/backend/distributed/sql/citus--11.2-2--11.3-1.sql @@ -1,6 +1,5 @@ -- citus--11.2-1--11.3-1 #include "udfs/repl_origin_helper/11.3-1.sql" -#include "udfs/worker_adjust_identity_column_seq_ranges/11.3-1.sql" ALTER TABLE pg_catalog.pg_dist_authinfo REPLICA IDENTITY USING INDEX pg_dist_authinfo_identification_index; ALTER TABLE pg_catalog.pg_dist_partition REPLICA IDENTITY USING INDEX pg_dist_partition_logical_relid_index; ALTER TABLE pg_catalog.pg_dist_placement REPLICA IDENTITY USING INDEX pg_dist_placement_placementid_index; diff --git a/src/backend/distributed/sql/downgrades/citus--11.2-2--11.2-1.sql b/src/backend/distributed/sql/downgrades/citus--11.2-2--11.2-1.sql new file mode 100644 index 000000000..92ba854da --- /dev/null +++ b/src/backend/distributed/sql/downgrades/citus--11.2-2--11.2-1.sql @@ -0,0 +1,2 @@ +-- citus--11.2-2--11.2-1 +DROP FUNCTION IF EXISTS pg_catalog.worker_adjust_identity_column_seq_ranges(regclass); diff --git a/src/backend/distributed/sql/downgrades/citus--11.3-1--11.2-1.sql b/src/backend/distributed/sql/downgrades/citus--11.3-1--11.2-2.sql similarity index 94% rename from src/backend/distributed/sql/downgrades/citus--11.3-1--11.2-1.sql rename to src/backend/distributed/sql/downgrades/citus--11.3-1--11.2-2.sql index 15afec40a..501d39785 100644 --- a/src/backend/distributed/sql/downgrades/citus--11.3-1--11.2-1.sql +++ b/src/backend/distributed/sql/downgrades/citus--11.3-1--11.2-2.sql @@ -3,7 +3,6 @@ DROP FUNCTION pg_catalog.citus_internal_start_replication_origin_tracking(); DROP FUNCTION pg_catalog.citus_internal_stop_replication_origin_tracking(); DROP FUNCTION pg_catalog.citus_internal_is_replication_origin_tracking_active(); -DROP FUNCTION IF EXISTS pg_catalog.worker_adjust_identity_column_seq_ranges(regclass); ALTER TABLE pg_catalog.pg_dist_authinfo REPLICA IDENTITY NOTHING; ALTER TABLE pg_catalog.pg_dist_partition REPLICA IDENTITY NOTHING; ALTER TABLE pg_catalog.pg_dist_placement REPLICA IDENTITY NOTHING; diff --git a/src/backend/distributed/sql/udfs/worker_adjust_identity_column_seq_ranges/11.2-2.sql b/src/backend/distributed/sql/udfs/worker_adjust_identity_column_seq_ranges/11.2-2.sql new file mode 100644 index 000000000..b444bfa22 --- /dev/null +++ b/src/backend/distributed/sql/udfs/worker_adjust_identity_column_seq_ranges/11.2-2.sql @@ -0,0 +1,3 @@ +-- Since we backported the UDF below from version 11.3, the definition is the same +#include "11.3-1.sql" + diff --git a/src/test/regress/expected/multi_extension.out b/src/test/regress/expected/multi_extension.out index 8d68f1aa3..cd9987bd6 100644 --- a/src/test/regress/expected/multi_extension.out +++ b/src/test/regress/expected/multi_extension.out @@ -1286,8 +1286,8 @@ SELECT * FROM multi_extension.print_extension_changes(); | type cluster_clock (38 rows) --- Test downgrade to 11.2-1 from 11.3-1 -ALTER EXTENSION citus UPDATE TO '11.3-1'; +-- Test downgrade to 11.2-1 from 11.2-2 +ALTER EXTENSION citus UPDATE TO '11.2-2'; ALTER EXTENSION citus UPDATE TO '11.2-1'; -- Should be empty result since upgrade+downgrade should be a no-op SELECT * FROM multi_extension.print_extension_changes(); @@ -1295,6 +1295,23 @@ SELECT * FROM multi_extension.print_extension_changes(); --------------------------------------------------------------------- (0 rows) +-- Snapshot of state at 11.2-2 +ALTER EXTENSION citus UPDATE TO '11.2-2'; +SELECT * FROM multi_extension.print_extension_changes(); + previous_object | current_object +--------------------------------------------------------------------- + | function worker_adjust_identity_column_seq_ranges(regclass) void +(1 row) + +-- Test downgrade to 11.2-2 from 11.3-1 +ALTER EXTENSION citus UPDATE TO '11.3-1'; +ALTER EXTENSION citus UPDATE TO '11.2-2'; +-- 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.3-1 ALTER EXTENSION citus UPDATE TO '11.3-1'; SELECT * FROM multi_extension.print_extension_changes(); @@ -1308,11 +1325,10 @@ SELECT * FROM multi_extension.print_extension_changes(); | function citus_stat_tenants_local(boolean) SETOF record | function citus_stat_tenants_local_reset() void | function citus_stat_tenants_reset() void - | function worker_adjust_identity_column_seq_ranges(regclass) void | function worker_drop_all_shell_tables(boolean) | view citus_stat_tenants | view citus_stat_tenants_local -(12 rows) +(11 rows) DROP TABLE multi_extension.prev_objects, multi_extension.extension_diff; -- show running version @@ -1734,4 +1750,4 @@ DROP TABLE version_mismatch_table; DROP SCHEMA multi_extension; ERROR: cannot drop schema multi_extension because other objects depend on it DETAIL: function multi_extension.print_extension_changes() depends on schema multi_extension -HINT: Use DROP ... CASCADE to drop the dependent objects too. +HINT: Use DROP ... CASCADE to drop the dependent objects too. \ No newline at end of file diff --git a/src/test/regress/sql/multi_extension.sql b/src/test/regress/sql/multi_extension.sql index c43003469..6a99dc0b4 100644 --- a/src/test/regress/sql/multi_extension.sql +++ b/src/test/regress/sql/multi_extension.sql @@ -571,12 +571,22 @@ DROP TABLE columnar_schema_members, columnar_schema_members_pg_depend; SELECT * FROM multi_extension.print_extension_changes(); --- Test downgrade to 11.2-1 from 11.3-1 -ALTER EXTENSION citus UPDATE TO '11.3-1'; +-- Test downgrade to 11.2-1 from 11.2-2 +ALTER EXTENSION citus UPDATE TO '11.2-2'; ALTER EXTENSION citus UPDATE TO '11.2-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.2-2 +ALTER EXTENSION citus UPDATE TO '11.2-2'; +SELECT * FROM multi_extension.print_extension_changes(); + +-- Test downgrade to 11.2-2 from 11.3-1 +ALTER EXTENSION citus UPDATE TO '11.3-1'; +ALTER EXTENSION citus UPDATE TO '11.2-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.3-1 ALTER EXTENSION citus UPDATE TO '11.3-1'; SELECT * FROM multi_extension.print_extension_changes();