Re: BUG #17062: Assert failed in RemoveRoleFromObjectPolicy() on DROP OWNED policy applied to duplicate role

Alvaro Herrera <alvherre@alvh.no-ip.org>

From: Alvaro Herrera <alvherre@alvh.no-ip.org>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Stephen Frost <sfrost@snowman.net>, Michael Paquier <michael@paquier.xyz>, exclusion@gmail.com, pgsql-bugs@lists.postgresql.org
Date: 2021-06-18T18:39:22Z
Lists: pgsql-bugs
On 2021-Jun-18, Tom Lane wrote:

> Stephen Frost <sfrost@snowman.net> writes:
> > I haven’t had a chance to delve into this but as far as the question above
> > goes- short answer is yes, there was generally an idea that we don’t want
> > policies just disappearing.  Also- we don’t allow a role to be dropped when
> > there are GRANT’d privileges, users have to go REVOKE any privileges that
> > reference the role.
> 
> But shouldn't DROP OWNED BY clean those out for you?  If you've got
> the right to get rid of the role, ISTM that that should certainly
> include the right to get rid of grants to it.

Yeah, that's the intention of DROP OWNED BY.

-- 
Álvaro Herrera                            39°49'30"S 73°17'W
"Crear es tan difícil como ser libre" (Elsa Triolet)



Commits

  1. Remove unnecessary failure cases in RemoveRoleFromObjectPolicy().

  2. Fix misbehavior of DROP OWNED BY with duplicate polroles entries.