Fix regrole and regnamespace types to honor quoting like other reg* types.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: fb1227af67eae5e97795f7e3563673c6e67d2844
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2016-01-04T06:03:53Z
Releases: 9.6.0
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

Files