diff options
Diffstat (limited to 'src/backend/commands/subscriptioncmds.c')
-rw-r--r-- | src/backend/commands/subscriptioncmds.c | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/src/backend/commands/subscriptioncmds.c b/src/backend/commands/subscriptioncmds.c index 2e67a5889e5..14191957665 100644 --- a/src/backend/commands/subscriptioncmds.c +++ b/src/backend/commands/subscriptioncmds.c @@ -493,16 +493,11 @@ CreateSubscription(CreateSubscriptionStmt *stmt, bool isTopLevel) slotname))); } } - PG_CATCH(); + PG_FINALLY(); { - /* Close the connection in case of failure. */ walrcv_disconnect(wrconn); - PG_RE_THROW(); } PG_END_TRY(); - - /* And we are done with the remote side. */ - walrcv_disconnect(wrconn); } else ereport(WARNING, @@ -1023,16 +1018,12 @@ DropSubscription(DropSubscriptionStmt *stmt, bool isTopLevel) walrcv_clear_result(res); } - PG_CATCH(); + PG_FINALLY(); { - /* Close the connection in case of failure */ walrcv_disconnect(wrconn); - PG_RE_THROW(); } PG_END_TRY(); - walrcv_disconnect(wrconn); - pfree(cmd.data); table_close(rel, NoLock); |