Re: Bug / shortcoming in has_*_privilege

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Jim Nasby <jim(at)nasby(dot)net>
Cc: PGSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Bug / shortcoming in has_*_privilege
Date: 2010-06-11 00:46:33
Message-ID: AANLkTikwQ_skm23Q1XpiVFPVU6x0-2OvwEVwPS7jdlC1@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Jun 10, 2010 at 5:54 PM, Jim Nasby <jim(at)nasby(dot)net> wrote:
> test_us(at)workbook=# select has_table_privilege( 'public', 'test', 'SELECT' );
> ERROR:  role "public" does not exist
> test_us(at)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(at)workbook=# create role public;
> ERROR:  role name "public" is reserved
> test_us(at)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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Takahiro Itagaki 2010-06-11 02:20:00 Re: ps display "waiting for max_standby_delay"
Previous Message Bruce Momjian 2010-06-10 23:15:49 Re: Invalid YAML output from EXPLAIN