Re: longfin and tamandua aren't too happy but I'm not sure why

Robert Haas <robertmhaas@gmail.com>

From: Robert Haas <robertmhaas@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Justin Pryzby <pryzby@telsasoft.com>, Dilip Kumar <dilipbalaut@gmail.com>
Date: 2022-09-28T13:07:28Z
Lists: pgsql-hackers
On Tue, Sep 27, 2022 at 5:29 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> ... also, lapwing's not too happy [1].  The alter_table test
> expects this to yield zero rows, but it doesn't:
>
>  SELECT m.* FROM filenode_mapping m LEFT JOIN pg_class c ON c.oid = m.oid
>  WHERE c.oid IS NOT NULL OR m.mapped_oid IS NOT NULL;
>
> I've reproduced that symptom in a 32-bit FreeBSD VM building with clang,
> so I suspect that it'll occur on any 32-bit build.  mamba is a couple
> hours away from offering a confirmatory data point, though.
>
> (BTW, is that test case sane at all?  I'm bemused by the symmetrical
> NOT NULL tests on a fundamentally not-symmetrical left join; what
> are those supposed to accomplish?  Also, the fact that it doesn't
> deign to show any fields from "c" is sure making it hard to tell
> what's wrong.)

This was added by:

commit f3fdd257a430ff581090740570af9f266bb893e3
Author: Noah Misch <noah@leadboat.com>
Date:   Fri Jun 13 19:57:59 2014 -0400

    Harden pg_filenode_relation test against concurrent DROP TABLE.

    Per buildfarm member prairiedog.  Back-patch to 9.4, where the test was
    introduced.

    Reviewed by Tom Lane.

There seems to be a comment in that commit which explains the intent
of those funny-looking NULL tests.

-- 
Robert Haas
EDB: http://www.enterprisedb.com



Commits

  1. meson: Split 'main' suite into 'regress' and 'isolation'

  2. ci: Add 32bit build and test

  3. Fix InitializeRelfilenumberMap for 05d4cbf9b6ba708858984b01ca0fc56d59d4ec7c

  4. Fix alignment problems with SharedInvalSmgrMsg.

  5. In BufTagGetForkNum, cast to the correct type.

  6. Increase width of RelFileNumbers from 32 bits to 56 bits.

  7. Harden pg_filenode_relation test against concurrent DROP TABLE.