diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2016-01-04 01:53:24 -0500 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2016-01-04 01:53:24 -0500 |
commit | b0cadc08fea564f75a0702e15b2bd949377bd2f3 (patch) | |
tree | 8286d6d4fb2ed736cec9e08e255a728384cf3e8f | |
parent | fb1227af67eae5e97795f7e3563673c6e67d2844 (diff) | |
download | postgresql-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.c | 16 |
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); } |