diff options
Diffstat (limited to 'src/backend/commands/user.c')
-rw-r--r-- | src/backend/commands/user.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/backend/commands/user.c b/src/backend/commands/user.c index 2210eedb99a..0d30838aeed 100644 --- a/src/backend/commands/user.c +++ b/src/backend/commands/user.c @@ -1114,7 +1114,7 @@ DropRole(DropRoleStmt *stmt) /* * Rename role */ -Oid +ObjectAddress RenameRole(const char *oldname, const char *newname) { HeapTuple oldtuple, @@ -1128,6 +1128,7 @@ RenameRole(const char *oldname, const char *newname) bool repl_repl[Natts_pg_authid]; int i; Oid roleid; + ObjectAddress address; rel = heap_open(AuthIdRelationId, RowExclusiveLock); dsc = RelationGetDescr(rel); @@ -1216,6 +1217,8 @@ RenameRole(const char *oldname, const char *newname) InvokeObjectPostAlterHook(AuthIdRelationId, roleid, 0); + ObjectAddressSet(address, AuthIdRelationId, roleid); + ReleaseSysCache(oldtuple); /* @@ -1223,7 +1226,7 @@ RenameRole(const char *oldname, const char *newname) */ heap_close(rel, NoLock); - return roleid; + return address; } /* |