refactor ExecGrant_*() functions

Peter Eisentraut <peter.eisentraut@enterprisedb.com>

From: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
To: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2022-12-02T07:30:55Z
Lists: pgsql-hackers

Attachments

Continuing the ideas in [0], this patch refactors the ExecGrant_Foo() 
functions and replaces many of them by a common function that is driven 
by the ObjectProperty table.

It would be nice to do more here, for example ExecGrant_Language(), 
which has additional non-generalizable checks, but I think this is 
already a good start.  For example, the work being discussed on 
privileges on publications [1] would be able to take good advantage of this.


[0]: 
https://www.postgresql.org/message-id/95c30f96-4060-2f48-98b5-a4392d3b6066@enterprisedb.com
[1]: https://www.postgresql.org/message-id/flat/20330.1652105397@antos

Commits

  1. Refactor ExecGrant_*() functions