]> granicus.if.org Git - postgresql/commit
Fix regrole and regnamespace types to honor quoting like other reg* types.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 4 Jan 2016 06:03:53 +0000 (01:03 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 4 Jan 2016 06:03:53 +0000 (01:03 -0500)
commitfb1227af67eae5e97795f7e3563673c6e67d2844
treebd4b596047f9d9d37a231a3bab863affdf9c126e
parentf47b602df80d7647ca2e71c86f7228b1bf5bf9f3
Fix regrole and regnamespace types to honor quoting like other reg* types.

Aside from any consistency arguments, this is logically necessary because
the I/O functions for these types also handle numeric OID values.  Without
a quoting rule it is impossible to distinguish numeric OIDs from role or
namespace names that happen to contain only digits.

Also change the to_regrole and to_regnamespace functions to dequote their
arguments.  While not logically essential, this seems like a good idea
since the other to_reg* functions do it.  Anyone who really wants raw
lookup of an uninterpreted name can fall back on the time-honored solution
of (SELECT oid FROM pg_namespace WHERE nspname = whatever).

Report and patch by Jim Nasby, reviewed by Michael Paquier
src/backend/utils/adt/regproc.c
src/test/regress/expected/regproc.out
src/test/regress/sql/regproc.sql