Re: refactor ownercheck and aclcheck functions
Peter Eisentraut <peter.eisentraut@enterprisedb.com>
From: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
To: Corey Huinker <corey.huinker@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2022-11-08T11:16:41Z
Lists: pgsql-hackers
Attachments
- v2-0001-Refactor-ownercheck-functions.patch (text/plain) patch v2-0001
- v2-0002-Refactor-aclcheck-functions.patch (text/plain) patch v2-0002
On 21.10.22 21:17, Peter Eisentraut wrote: > On 20.10.22 01:24, Corey Huinker wrote: >> I'd be inclined to remove the highly used ones as well. That way the >> codebase would have more examples of object_ownercheck() for readers >> to see. Seeing the existence of pg_FOO_ownercheck implies that a >> pg_BAR_ownercheck might exist, and if BAR is missing they might be >> inclined to re-add it. > > We do have several ownercheck and aclcheck functions that can't be > refactored into this framework right now, so we do have to keep some > special-purpose functions around anyway. I'm afraid converting all the > callers would blow up this patch quite a bit, but it could be done as a > follow-up patch. > >> If we do keep them, would it make sense to go the extra step and turn >> the remaining six "regular" into static inline functions or even >> #define-s? > > That could make sense. After considering this again, I decided to brute-force this and get rid of all the trivial wrapper functions and also several of the special cases. That way, there is less confusion at the call sites about why this or that style is used in a particular case. Also, it now makes sure you can't accidentally use the generic functions when a particular one should be used.
Commits
-
Refactor aclcheck functions
- c727f511bd7b 16.0 landed
-
Refactor ownercheck functions
- afbfc02983f8 16.0 landed
-
Unify drop-by-OID functions
- b1d32d3e3230 14.0 cited