From: Peter Eisentraut Date: Wed, 8 Feb 2017 03:09:53 +0000 (-0500) Subject: Fix relcache leaks in get_object_address_publication_rel() X-Git-Tag: XL_10_R1BETA1~288^2~997 X-Git-Url: http://git.postgresql.org/gitweb/backend_dirs.html?a=commitdiff_plain;h=115cb31597fac8a17202d1e41da8baf33fcb60cf;p=postgres-xl.git Fix relcache leaks in get_object_address_publication_rel() --- diff --git a/src/backend/catalog/objectaddress.c b/src/backend/catalog/objectaddress.c index a3bb2f1c0e..9029477d68 100644 --- a/src/backend/catalog/objectaddress.c +++ b/src/backend/catalog/objectaddress.c @@ -1835,7 +1835,10 @@ get_object_address_publication_rel(List *objname, List *objargs, /* Now look up the pg_publication tuple */ pub = GetPublicationByName(pubname, missing_ok); if (!pub) + { + relation_close(relation, AccessShareLock); return address; + } /* Find the publication relation mapping in syscache. */ address.objectId = @@ -1849,6 +1852,7 @@ get_object_address_publication_rel(List *objname, List *objargs, (errcode(ERRCODE_UNDEFINED_OBJECT), errmsg("publication relation \"%s\" in publication \"%s\" does not exist", RelationGetRelationName(relation), pubname))); + relation_close(relation, AccessShareLock); return address; }