aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/backend/catalog/objectaddress.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/backend/catalog/objectaddress.c b/src/backend/catalog/objectaddress.c
index d1529c31975..e11f656044f 100644
--- a/src/backend/catalog/objectaddress.c
+++ b/src/backend/catalog/objectaddress.c
@@ -729,7 +729,7 @@ static ObjectAddress get_object_address_opf_member(ObjectType objtype,
static ObjectAddress get_object_address_usermapping(List *objname,
List *objargs, bool missing_ok);
static ObjectAddress get_object_address_publication_rel(List *objname,
- List *objargs, Relation *relation,
+ List *objargs, Relation *relp,
bool missing_ok);
static ObjectAddress get_object_address_defacl(List *objname, List *objargs,
bool missing_ok);
@@ -1815,15 +1815,16 @@ get_object_address_usermapping(List *objname, List *objargs, bool missing_ok)
*/
static ObjectAddress
get_object_address_publication_rel(List *objname, List *objargs,
- Relation *relation, bool missing_ok)
+ Relation *relp, bool missing_ok)
{
ObjectAddress address;
+ Relation relation;
char *pubname;
Publication *pub;
ObjectAddressSet(address, PublicationRelRelationId, InvalidOid);
- *relation = relation_openrv_extended(makeRangeVarFromNameList(objname),
+ relation = relation_openrv_extended(makeRangeVarFromNameList(objname),
AccessShareLock, missing_ok);
if (!relation)
return address;
@@ -1839,7 +1840,7 @@ get_object_address_publication_rel(List *objname, List *objargs,
/* Find the publication relation mapping in syscache. */
address.objectId =
GetSysCacheOid2(PUBLICATIONRELMAP,
- ObjectIdGetDatum(RelationGetRelid(*relation)),
+ ObjectIdGetDatum(RelationGetRelid(relation)),
ObjectIdGetDatum(pub->oid));
if (!OidIsValid(address.objectId))
{
@@ -1847,10 +1848,11 @@ get_object_address_publication_rel(List *objname, List *objargs,
ereport(ERROR,
(errcode(ERRCODE_UNDEFINED_OBJECT),
errmsg("publication relation \"%s\" in publication \"%s\" does not exist",
- RelationGetRelationName(*relation), pubname)));
+ RelationGetRelationName(relation), pubname)));
return address;
}
+ *relp = relation;
return address;
}