Re: Bug / shortcoming in has_*_privilege
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Jim Nasby <jim@nasby.net>
Cc: PGSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2010-06-11T00:46:33Z
Lists: pgsql-hackers
On Thu, Jun 10, 2010 at 5:54 PM, Jim Nasby <jim@nasby.net> wrote: > test_us@workbook=# select has_table_privilege( 'public', 'test', 'SELECT' ); > ERROR: role "public" does not exist > test_us@workbook=# > > So there's no way to see if a particular privilege has been granted to public. ISTM 'public' should be accepted, since you can't use it as a role name anyway... > > test_us@workbook=# create role public; > ERROR: role name "public" is reserved > test_us@workbook=# create role "public"; > ERROR: role name "public" is reserved It's a bit sticky - you could make that work for has_table_privilege(name, oid, text) or has_table_privilege(name, text, text), but what would you do about the versions whose first argument is an oid? It would seem a bit awkward to have the behavior by asymmetrical, although I guess we could... -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise Postgres Company