From 65dcc5904d88b5b231800a8155c3a015c5a5627e Mon Sep 17 00:00:00 2001 From: Naisila Puka <37271756+naisila@users.noreply.github.com> Date: Fri, 22 Nov 2024 01:08:15 +0300 Subject: [PATCH] PG17 compatibility: fix backend type orders in test (#7760) This work was already done by @m3hm3t and approved as part of https://github.com/citusdata/citus/pull/7722 I separated it in this PR since the previous one contained other changes which we don't currently want to merge. Relevant PG commit: --------- Co-authored-by: Mehmet YILMAZ --- .../expected/multi_mx_hide_shard_names.out | 26 +++++++++++------- .../regress/sql/multi_mx_hide_shard_names.sql | 27 +++++++++++-------- 2 files changed, 32 insertions(+), 21 deletions(-) diff --git a/src/test/regress/expected/multi_mx_hide_shard_names.out b/src/test/regress/expected/multi_mx_hide_shard_names.out index 762c6a30b..1f6e06ab1 100644 --- a/src/test/regress/expected/multi_mx_hide_shard_names.out +++ b/src/test/regress/expected/multi_mx_hide_shard_names.out @@ -473,19 +473,25 @@ SELECT relname FROM pg_catalog.pg_class WHERE relnamespace = 'mx_hide_shard_name -- PG16 added one more backend type B_STANDALONE_BACKEND -- and also alphabetized the backend types, hence the orders changed --- Relevant PG commit: +-- Relevant PG16 commit: -- https://github.com/postgres/postgres/commit/0c679464a837079acc75ff1d45eaa83f79e05690 +-- Relevant Pg17 commit: +-- https://github.com/postgres/postgres/commit/067701f57758f9baed5bd9d868539738d77bfa92#diff-afc0ebd67534b71b5b94b29a1387aa6eedffe342a5539f52d686428be323e802 SHOW server_version \gset -SELECT substring(:'server_version', '\d+')::int >= 16 AS server_version_ge_16 -\gset -\if :server_version_ge_16 -SELECT 4 AS client_backend \gset -SELECT 5 AS bgworker \gset -SELECT 12 AS walsender \gset +SELECT substring(:'server_version', '\d+')::int >= 17 AS server_version_ge_17 \gset +SELECT substring(:'server_version', '\d+')::int >= 16 AS server_version_ge_16 \gset +\if :server_version_ge_17 + SELECT 1 AS client_backend \gset + SELECT 4 AS bgworker \gset + SELECT 5 AS walsender \gset +\elif :server_version_ge_16 + SELECT 4 AS client_backend \gset + SELECT 5 AS bgworker \gset + SELECT 12 AS walsender \gset \else -SELECT 3 AS client_backend \gset -SELECT 4 AS bgworker \gset -SELECT 9 AS walsender \gset + SELECT 3 AS client_backend \gset + SELECT 4 AS bgworker \gset + SELECT 9 AS walsender \gset \endif -- say, we set it to bgworker -- the shards and indexes do not show up diff --git a/src/test/regress/sql/multi_mx_hide_shard_names.sql b/src/test/regress/sql/multi_mx_hide_shard_names.sql index addc7f90e..70f87a875 100644 --- a/src/test/regress/sql/multi_mx_hide_shard_names.sql +++ b/src/test/regress/sql/multi_mx_hide_shard_names.sql @@ -246,20 +246,25 @@ SELECT relname FROM pg_catalog.pg_class WHERE relnamespace = 'mx_hide_shard_name -- PG16 added one more backend type B_STANDALONE_BACKEND -- and also alphabetized the backend types, hence the orders changed --- Relevant PG commit: +-- Relevant PG16 commit: -- https://github.com/postgres/postgres/commit/0c679464a837079acc75ff1d45eaa83f79e05690 +-- Relevant Pg17 commit: +-- https://github.com/postgres/postgres/commit/067701f57758f9baed5bd9d868539738d77bfa92#diff-afc0ebd67534b71b5b94b29a1387aa6eedffe342a5539f52d686428be323e802 SHOW server_version \gset -SELECT substring(:'server_version', '\d+')::int >= 16 AS server_version_ge_16 -\gset - -\if :server_version_ge_16 -SELECT 4 AS client_backend \gset -SELECT 5 AS bgworker \gset -SELECT 12 AS walsender \gset +SELECT substring(:'server_version', '\d+')::int >= 17 AS server_version_ge_17 \gset +SELECT substring(:'server_version', '\d+')::int >= 16 AS server_version_ge_16 \gset +\if :server_version_ge_17 + SELECT 1 AS client_backend \gset + SELECT 4 AS bgworker \gset + SELECT 5 AS walsender \gset +\elif :server_version_ge_16 + SELECT 4 AS client_backend \gset + SELECT 5 AS bgworker \gset + SELECT 12 AS walsender \gset \else -SELECT 3 AS client_backend \gset -SELECT 4 AS bgworker \gset -SELECT 9 AS walsender \gset + SELECT 3 AS client_backend \gset + SELECT 4 AS bgworker \gset + SELECT 9 AS walsender \gset \endif -- say, we set it to bgworker