aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/subscriptioncmds.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/commands/subscriptioncmds.c')
-rw-r--r--src/backend/commands/subscriptioncmds.c13
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);