pgsql: Refactor ownercheck functions

Started by Peter Eisentrautover 3 years ago1 messagescomitters
Jump to latest
#1Peter Eisentraut
peter_e@gmx.net

Refactor ownercheck functions

Instead of dozens of mostly-duplicate pg_foo_ownercheck() functions,
write one common function object_ownercheck() that can handle almost
all of them. We already have all the information we need, such as
which system catalog corresponds to which catalog table and which
column is the owner column.

Reviewed-by: Corey Huinker <corey.huinker@gmail.com>
Reviewed-by: Antonin Houska <ah@cybertec.at>
Discussion: /messages/by-id/95c30f96-4060-2f48-98b5-a4392d3b6066@enterprisedb.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/afbfc02983f86c4d71825efa6befd547fe81a926

Modified Files
--------------
contrib/pg_surgery/heap_surgery.c | 2 +-
src/backend/access/brin/brin.c | 4 +-
src/backend/access/gin/ginfast.c | 2 +-
src/backend/catalog/aclchk.c | 643 +++-----------------------------
src/backend/catalog/namespace.c | 2 +-
src/backend/catalog/objectaddress.c | 106 ++----
src/backend/catalog/pg_operator.c | 6 +-
src/backend/catalog/pg_proc.c | 2 +-
src/backend/commands/cluster.c | 9 +-
src/backend/commands/collationcmds.c | 2 +-
src/backend/commands/dbcommands.c | 16 +-
src/backend/commands/dropcmds.c | 3 +-
src/backend/commands/event_trigger.c | 4 +-
src/backend/commands/extension.c | 6 +-
src/backend/commands/foreigncmds.c | 6 +-
src/backend/commands/functioncmds.c | 12 +-
src/backend/commands/indexcmds.c | 12 +-
src/backend/commands/opclasscmds.c | 16 +-
src/backend/commands/operatorcmds.c | 2 +-
src/backend/commands/policy.c | 2 +-
src/backend/commands/proclang.c | 2 +-
src/backend/commands/publicationcmds.c | 6 +-
src/backend/commands/schemacmds.c | 4 +-
src/backend/commands/statscmds.c | 4 +-
src/backend/commands/subscriptioncmds.c | 6 +-
src/backend/commands/tablecmds.c | 22 +-
src/backend/commands/tablespace.c | 6 +-
src/backend/commands/trigger.c | 2 +-
src/backend/commands/tsearchcmds.c | 4 +-
src/backend/commands/typecmds.c | 28 +-
src/backend/commands/user.c | 4 +-
src/backend/commands/vacuum.c | 6 +-
src/backend/libpq/be-fsstubs.c | 3 +-
src/backend/rewrite/rewriteDefine.c | 6 +-
src/backend/utils/adt/ri_triggers.c | 4 +-
src/backend/utils/misc/rls.c | 2 +-
src/include/utils/acl.h | 23 +-
37 files changed, 183 insertions(+), 806 deletions(-)