Thread: pgsql: Refactor ownercheck functions

pgsql: Refactor ownercheck functions

From
Peter Eisentraut
Date:
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: https://www.postgresql.org/message-id/flat/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(-)