missing schema qualifications in psql
While psql is careful to schema-qualify all references to built-in
objects (pg_catalog.*), it completely neglects to do this for built-in
operators, which can lead to surprising misbehaviors when users have
created custom operators. Here is a patch to address that. It will
need a bit of testing.
pg_dump has similar problems, probably other components as well.
Attachments:
schema-qual.difftext/x-patch; charset=UTF-8; name=schema-qual.diffDownload+231-231
-----BEGIN PGP SIGNED MESSAGE-----
Hash: RIPEMD160
While psql is careful to schema-qualify all references to built-in
objects (pg_catalog.*), it completely neglects to do this for built-in
operators, which can lead to surprising misbehaviors when users have
created custom operators. Here is a patch to address that. It will
need a bit of testing.
Er...wouldn't this only be a problem if someone creates custom operators
*and* forces pg_catalog to the end of the search_path? Wouldn't an easier
solution be to prepend pg_catalog to the search_path when doing backslash
commands?
- --
Greg Sabino Mullane greg@turnstep.com
PGP Key: 0x14964AC8 201004010941
http://biglumber.com/x/web?pk=2529DF6AB8F79407E94445B4BC9B906714964AC8
-----BEGIN PGP SIGNATURE-----
iEYEAREDAAYFAku0oqQACgkQvJuQZxSWSsiJmACghUKR/i+uyJ2n+beuAid4w432
s0oAnArOf1npuMF/7QJ87ZVmSYMlJTRp
=/+yd
-----END PGP SIGNATURE-----
Peter Eisentraut <peter_e@gmx.net> writes:
While psql is careful to schema-qualify all references to built-in
objects (pg_catalog.*), it completely neglects to do this for built-in
operators,
That's intentional because of the utter lack of readability that
results if you try to use OPERATOR() everywhere ...
regards, tom lane
On Thu, Apr 1, 2010 at 9:59 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Peter Eisentraut <peter_e@gmx.net> writes:
While psql is careful to schema-qualify all references to built-in
objects (pg_catalog.*), it completely neglects to do this for built-in
operators,That's intentional because of the utter lack of readability that
results if you try to use OPERATOR() everywhere ...
I was mulling over in my head the possibility that the date on which
this patch was posted was deliberate...
...Robert