Re: Avoid lost result of recursion (src/backend/optimizer/util/inherit.c)

Richard Guo <guofenglinux@gmail.com>

From: Richard Guo <guofenglinux@gmail.com>
To: David Rowley <dgrowleyml@gmail.com>
Cc: Ranier Vilela <ranier.vf@gmail.com>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2022-12-23T02:21:14Z
Lists: pgsql-hackers
On Thu, Dec 22, 2022 at 5:22 PM David Rowley <dgrowleyml@gmail.com> wrote:

> On Thu, 22 Dec 2022 at 21:18, Richard Guo <guofenglinux@gmail.com> wrote:
> > My best guess is that this function is intended to share the same code
> > pattern as in adjust_appendrel_attrs_multilevel.  The recursion is
> > needed as 'rel' can be more than one inheritance level below the top
> > parent.  I think we can keep the recursion, as in other similar
> > functions, as long as we make it right, as in attached patch.
>
> I still think we should have a test to ensure this is actually
> working. Do you want to write one?


I agree that we should have a test.  According to the code coverage
report, the recursion part of this function is never tested.  I will
have a try to see if I can come up with a proper test case.

Thanks
Richard

Commits

  1. Fix bug in translate_col_privs_multilevel

  2. Rework query relation permission checking