Hackers,
While updating pgAudit for PG16 I found the following (from our
perspective) regression.
In prior versions of Postgres, views were listed in rangeTabls when
ExecutorCheckPerms_hook() was called but in PG16 the views are no longer
in this list. The permissions have been broken out into permInfos as of
a61b1f748 and this list does include the view.
It seems the thing to do here would be to scan permInfos instead, which
works fine except that we also need access to rellockmode, which is only
included in rangeTabls. We can add a scan of rangeTabls to get
rellockmode when needed and we might be better off overall since
permInfos will generally have fewer entries. I have not implemented this
yet but it seems like it will work.
From reading the discussion it appears this change to rangeTabls was
intentional, but I wonder if I am missing something. For instance, is
there a better way to get rellockmode when scanning permInfos?
It seems unlikely that we are the only ones using rangeTabls in an
extension, so others might benefit from having an answer to this on list.
Thanks,
-David