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:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user