]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Avoid errors during DROP SUBSCRIPTION when slot_name is NONE.
authorJeff Davis <jdavis@postgresql.org>
Thu, 18 Jun 2026 16:00:32 +0000 (09:00 -0700)
committerJeff Davis <jdavis@postgresql.org>
Thu, 18 Jun 2026 16:20:06 +0000 (09:20 -0700)
commit702e9dfd6c5001fd64d51c3c47dca2fc953fa9cd
treed1106a70c024bd4b94bc473b62a25045527c12c1
parent9228275b04c1677927d359fd36bae5468b69c6a1
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
src/backend/commands/subscriptioncmds.c
src/test/regress/expected/subscription.out
src/test/regress/sql/subscription.sql