Re: Surely this code in setrefs.c is wrong?

David Rowley <dgrowleyml@gmail.com>

From: David Rowley <dgrowleyml@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-hackers@lists.postgresql.org
Date: 2023-09-10T09:07:53Z
Lists: pgsql-hackers
On Sun, 10 Sept 2023 at 11:22, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>         if (!OidIsValid(saop->hashfuncid))
>             record_plan_function_dependency(root, saop->hashfuncid);
>
>         if (!OidIsValid(saop->negfuncid))
>             record_plan_function_dependency(root, saop->negfuncid);
>
> Surely those if-conditions are exactly backward, and we should be
> recording nonzero hashfuncid and negfuncid entries, not zero ones.

That's certainly not coded as I intended. Perhaps I got my wires
crossed and mixed up OidIsValid and InvalidOid and without reading
correctly somehow thought OidIsValid was for the inverse case.

I'll push fixes once the 16.0 release is out of the way.

David



Commits

  1. Fix incorrect logic in plan dependency recording