aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2016-01-04 01:53:24 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2016-01-04 01:53:24 -0500
commitb0cadc08fea564f75a0702e15b2bd949377bd2f3 (patch)
tree8286d6d4fb2ed736cec9e08e255a728384cf3e8f
parentfb1227af67eae5e97795f7e3563673c6e67d2844 (diff)
downloadpostgresql-b0cadc08fea564f75a0702e15b2bd949377bd2f3.tar.gz
postgresql-b0cadc08fea564f75a0702e15b2bd949377bd2f3.zip
Fix regrole and regnamespace output functions to do quoting, too.
We discussed this but somehow failed to implement it...
-rw-r--r--src/backend/utils/adt/regproc.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/backend/utils/adt/regproc.c b/src/backend/utils/adt/regproc.c
index fc939e641ff..0f17eb8000f 100644
--- a/src/backend/utils/adt/regproc.c
+++ b/src/backend/utils/adt/regproc.c
@@ -1642,12 +1642,18 @@ regroleout(PG_FUNCTION_ARGS)
result = GetUserNameFromId(roleoid, true);
- if (!result)
+ if (result)
+ {
+ /* pstrdup is not really necessary, but it avoids a compiler warning */
+ result = pstrdup(quote_identifier(result));
+ }
+ else
{
/* If OID doesn't match any role, return it numerically */
result = (char *) palloc(NAMEDATALEN);
snprintf(result, NAMEDATALEN, "%u", roleoid);
}
+
PG_RETURN_CSTRING(result);
}
@@ -1757,12 +1763,18 @@ regnamespaceout(PG_FUNCTION_ARGS)
result = get_namespace_name(nspid);
- if (!result)
+ if (result)
+ {
+ /* pstrdup is not really necessary, but it avoids a compiler warning */
+ result = pstrdup(quote_identifier(result));
+ }
+ else
{
/* If OID doesn't match any namespace, return it numerically */
result = (char *) palloc(NAMEDATALEN);
snprintf(result, NAMEDATALEN, "%u", nspid);
}
+
PG_RETURN_CSTRING(result);
}