summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlvaro Herrera <alvherre@alvh.no-ip.org>2015-03-25 14:28:34 -0300
committerAlvaro Herrera <alvherre@alvh.no-ip.org>2015-03-25 14:28:34 -0300
commitb3196e65f5bfc997ec7fa3f91645a09289c10dee (patch)
treeb6da66fe5c94bc11ed0594e43afea5dbad88b4a0
parentdc8e05295ab126bc4c943cab3e8e117489ecb246 (diff)
downloadpostgresql-b3196e65f5bfc997ec7fa3f91645a09289c10dee.tar.gz
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.
-rw-r--r--src/backend/catalog/objectaddress.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/backend/catalog/objectaddress.c b/src/backend/catalog/objectaddress.c
index 5025a4ee5b..e82a448e6f 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;
}