1
0
mirror of https://github.com/postgres/postgres.git synced 2025-08-21 10:42:50 +03:00

Fix relcache leaks in get_object_address_publication_rel()

This commit is contained in:
Peter Eisentraut
2017-02-07 22:09:53 -05:00
parent e35bbea7dd
commit 115cb31597

View File

@@ -1835,7 +1835,10 @@ get_object_address_publication_rel(List *objname, List *objargs,
/* Now look up the pg_publication tuple */ /* Now look up the pg_publication tuple */
pub = GetPublicationByName(pubname, missing_ok); pub = GetPublicationByName(pubname, missing_ok);
if (!pub) if (!pub)
{
relation_close(relation, AccessShareLock);
return address; return address;
}
/* Find the publication relation mapping in syscache. */ /* Find the publication relation mapping in syscache. */
address.objectId = address.objectId =
@@ -1849,6 +1852,7 @@ get_object_address_publication_rel(List *objname, List *objargs,
(errcode(ERRCODE_UNDEFINED_OBJECT), (errcode(ERRCODE_UNDEFINED_OBJECT),
errmsg("publication relation \"%s\" in publication \"%s\" does not exist", errmsg("publication relation \"%s\" in publication \"%s\" does not exist",
RelationGetRelationName(relation), pubname))); RelationGetRelationName(relation), pubname)));
relation_close(relation, AccessShareLock);
return address; return address;
} }