pgsql: Avoid errors during DROP SUBSCRIPTION when slot_name is NONE. - Mailing list pgsql-committers

From Jeff Davis
Subject pgsql: Avoid errors during DROP SUBSCRIPTION when slot_name is NONE.
Date
Msg-id E1waFUI-000tI0-36@gemulon.postgresql.org
Whole thread
List pgsql-committers
Avoid errors during DROP SUBSCRIPTION when slot_name is NONE.

Previously, if the subscription used a server,
ForeignServerConnectionString() could raise an error (e.g. missing
user mapping) during DROP SUBSCRIPTION even if the conninfo wasn't
needed at all.

Construct conninfo after the early return, so that if slot_name is
NONE and rstates is NIL, the DROP SUBSCRIPTION will succeed even if
ForeignServerConnectionString() raises an error (e.g. missing user
mapping).

If slot_name is NONE and rstates is not NIL, DROP SUBSCRIPTION may
still encounter an error from ForeignServerConnectionString().

Reported-by: Hayato Kuroda (Fujitsu) <kuroda.hayato@fujitsu.com>
Reviewed-by: Chao Li <li.evan.chao@gmail.com>
Discussion: https://postgr.es/m/OS9PR01MB12149B54DEA148108C6FA5667F52D2@OS9PR01MB12149.jpnprd01.prod.outlook.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/702e9dfd6c5001fd64d51c3c47dca2fc953fa9cd

Modified Files
--------------
src/backend/commands/subscriptioncmds.c    | 85 ++++++++++++++++++------------
src/test/regress/expected/subscription.out |  5 +-
src/test/regress/sql/subscription.sql      |  5 +-
3 files changed, 56 insertions(+), 39 deletions(-)


pgsql-committers by date:

Previous
From: Bruce Momjian
Date:
Subject: pgsql: doc PG 19 relnotes: fix "standard_conforming_strings = off text
Next
From: Tom Lane
Date:
Subject: pgsql: hstore_plperl: Add CHECK_FOR_INTERRUPTS() in reference-unwinding