diff options
author | Peter Eisentraut | 2017-02-08 03:09:53 +0000 |
---|---|---|
committer | Peter Eisentraut | 2017-02-08 03:09:53 +0000 |
commit | 115cb31597fac8a17202d1e41da8baf33fcb60cf (patch) | |
tree | 4e9d5e7bce289bb373b471787f2e3971dc03db1a | |
parent | e35bbea7ddd89c7f51988fcf03c87150938ea2e3 (diff) |
Fix relcache leaks in get_object_address_publication_rel()
-rw-r--r-- | src/backend/catalog/objectaddress.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/backend/catalog/objectaddress.c b/src/backend/catalog/objectaddress.c index a3bb2f1c0ef..9029477d68c 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; } |