Here is a new version of the patch. Besides some cleanup, I added an index on reltoastrelid for the toast-to-main-relation lookup. Before I bother adjusting the tests and documentation, I'm curious to hear thoughts on whether this seems like a viable approach.
On Sat, Dec 17, 2022 at 04:39:29AM -0800, Ted Yu wrote: > +cluster_is_permitted_for_relation(Oid relid, Oid userid) > +{ > + return pg_class_aclcheck(relid, userid, ACL_MAINTAIN) == > ACLCHECK_OK || > + has_parent_privs(relid, userid, ACL_MAINTAIN); > > Since the func only contains one statement, it seems this can be defined as > a macro instead.
In the new version, there is a bit more to this function, so I didn't convert it to a macro.
> + List *ancestors = get_partition_ancestors(relid); > + Oid root = InvalidOid; > > nit: it would be better if the variable `root` can be aligned with variable > `ancestors`.
Hm. It looked alright on my machine. In any case, I'll be sure to run pgindent at some point. This patch is still in early stages.