]> 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)
commitfa038f830b64779475b746a6840db9bdd0298d80
tree5e4d50e2d871a8880ed1f92e1a21f9596799c31a
parentc244a511ba7f40dd43516eb025b1b299f2978f23
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