Re: Repetition of warning message while REVOKE

Joshua D. Drake <jd@commandprompt.com>

From: "Joshua D. Drake" <jd@commandprompt.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Piyush Newe <piyush.newe@enterprisedb.com>, pgsql-hackers@postgresql.org, Stephen Frost <sfrost@snowman.net>
Date: 2010-03-04T16:32:28Z
Lists: pgsql-hackers
On Thu, 2010-03-04 at 11:23 -0500, Tom Lane wrote:
> I wrote:
> > Piyush Newe <piyush.newe@enterprisedb.com> writes:
> >> create table tbl(col int);
> >> create user usr;
> >> grant select on tbl to usr;
> >> \c postgres usr;
> >> REVOKE SELECT on tbl from usr;
> >> WARNING:  no privileges could be revoked for "tbl"
> >> WARNING:  no privileges could be revoked for "tbl"
> >> WARNING:  no privileges could be revoked for "tbl"
> >> WARNING:  no privileges could be revoked for "tbl"
> >> WARNING:  no privileges could be revoked for "tbl"
> >> WARNING:  no privileges could be revoked for "tbl"
> >> WARNING:  no privileges could be revoked for "tbl"
> >> WARNING:  no privileges could be revoked for "tbl"
> >> REVOKE
> 
> > You really should mention what version you're testing, but for the
> > archives: I confirm this on 8.4.x and HEAD.  8.3 seems to behave sanely.
> 
> I traced through this and determined that the extra messages are a
> consequence of the column-level-privileges patch.
> restrict_and_check_grant is invoked both on the whole relation, and
> on each column (since we have to get rid of any per-column SELECT
> privilege that might have been granted).
> 
> I'm not sure offhand about a reasonable way to rearrange the code to
> avoid duplicate messages.

Perhaps just add what can't be revoked? meaning:

WARNING:  no privileges could be revoked for "tbl" for column "foo"

Then they aren't actually duplicate.

Sincerely,

Joshau D. Drake



> 
> 			regards, tom lane
> 


-- 
PostgreSQL.org Major Contributor
Command Prompt, Inc: http://www.commandprompt.com/ - 503.667.4564
Consulting, Training, Support, Custom Development, Engineering
Respect is earned, not gained through arbitrary and repetitive use or Mr. or Sir.