Re: Proper object locking for GRANT/REVOKE

2024-12-09 Thread Noah Misch
On Mon, Dec 02, 2024 at 12:13:56PM +0100, Peter Eisentraut wrote: > On 25.11.24 02:24, Noah Misch wrote: > > commit d31bbfb wrote: > > > --- a/src/backend/catalog/aclchk.c > > > +++ b/src/backend/catalog/aclchk.c > > > @@ -659,147 +659,77 @@ ExecGrantStmt_oids(InternalGrant *istmt) > > >* objec

Re: Proper object locking for GRANT/REVOKE

2024-12-02 Thread Peter Eisentraut
On 25.11.24 02:24, Noah Misch wrote: commit d31bbfb wrote: --- a/src/backend/catalog/aclchk.c +++ b/src/backend/catalog/aclchk.c @@ -659,147 +659,77 @@ ExecGrantStmt_oids(InternalGrant *istmt) * objectNamesToOids * * Turn a list of object names of a given type into an Oid list. - * - *

Re: Proper object locking for GRANT/REVOKE

2024-11-24 Thread Noah Misch
On Fri, Nov 15, 2024 at 11:19:50AM +0100, Peter Eisentraut wrote: > On 11.11.24 08:53, Bertrand Drouvot wrote: > Thanks. I have applied your patch and then also mine with the appropriate > adjustments. commit d31bbfb wrote: > --- a/src/backend/catalog/aclchk.c > +++ b/src/backend/catalog/aclchk.

Re: Proper object locking for GRANT/REVOKE

2024-11-15 Thread Peter Eisentraut
On 11.11.24 08:53, Bertrand Drouvot wrote: Maybe it would be better to push the assertion into get_object_address(), something like Assert(!relation || relp) near the end. That looks like a good idea to me, that would make the code cleaner and easier to understand. Meaning, if you pass

Re: Proper object locking for GRANT/REVOKE

2024-11-10 Thread Bertrand Drouvot
Hi, On Sat, Nov 09, 2024 at 01:43:13PM +0100, Peter Eisentraut wrote: > On 31.10.24 15:26, Bertrand Drouvot wrote: > > + address = get_object_address(objtype, lfirst(cell), &relation, lockmode, > > false); > > + Assert(relation == NULL); > > > > Worth to explain why we do expect relation to be

Re: Proper object locking for GRANT/REVOKE

2024-11-09 Thread Peter Eisentraut
On 31.10.24 15:26, Bertrand Drouvot wrote: + address = get_object_address(objtype, lfirst(cell), &relation, lockmode, false); + Assert(relation == NULL); Worth to explain why we do expect relation to be NULL here? (the comment on top of get_object_address() says it all, but maybe a few words

Re: Proper object locking for GRANT/REVOKE

2024-10-31 Thread Bertrand Drouvot
Hi, On Mon, Oct 28, 2024 at 04:20:42PM +0100, Peter Eisentraut wrote: > This patch started out as a refactoring, thinking that objectNamesToOids() > in aclchk.c should really mostly be a loop around get_object_address(). > This is mostly true, with a few special cases because the node > representa

Proper object locking for GRANT/REVOKE

2024-10-28 Thread Peter Eisentraut
. Also, it would be worth thinking about what the correct lock mode should be here. From fb910c6af0fb0691448680ec4a4cc1eb1857cd5b Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Mon, 28 Oct 2024 16:07:01 +0100 Subject: [PATCH] Proper object locking for GRANT/REVOKE Refactor objectNamesToOids