From b3196e65f5bfc997ec7fa3f91645a09289c10dee Mon Sep 17 00:00:00 2001 From: Alvaro Herrera Date: Wed, 25 Mar 2015 14:28:34 -0300 Subject: [PATCH] Fix bug for array-formatted identities of user mappings I failed to realize that server names reported in the object args array would get quoted, which is wrong; remove that, making sure that it's only quoted in the string-formatted identity. This bug was introduced by my commit cf34e373, which was backpatched, but since object name/args arrays are new in commit a676201490c8, there is no need to backpatch this any further. --- src/backend/catalog/objectaddress.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/backend/catalog/objectaddress.c b/src/backend/catalog/objectaddress.c index 5025a4ee5bc..e82a448e6ff 100644 --- a/src/backend/catalog/objectaddress.c +++ b/src/backend/catalog/objectaddress.c @@ -4254,7 +4254,7 @@ getObjectIdentityParts(const ObjectAddress *object, ReleaseSysCache(tup); if (OidIsValid(useid)) - usename = quote_identifier(GetUserNameFromId(useid)); + usename = GetUserNameFromId(useid); else usename = "public"; @@ -4264,7 +4264,8 @@ getObjectIdentityParts(const ObjectAddress *object, *objargs = list_make1(pstrdup(srv->servername)); } - appendStringInfo(&buffer, "%s on server %s", usename, + appendStringInfo(&buffer, "%s on server %s", + quote_identifier(usename), srv->servername); break; } -- 2.39.5