Re: abi-compliance-check failure due to recent changes to pg_{clear,restore}_{attribute,relation}_stats()

Nathan Bossart <nathandbossart@gmail.com>

From: Nathan Bossart <nathandbossart@gmail.com>
To: Peter Geoghegan <pg@bowt.ie>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, pgsql-hackers@postgresql.org, david@justatheory.com, Andrew Dunstan <andrew@dunslane.net>
Date: 2025-10-17T19:28:33Z
Lists: pgsql-hackers
On Fri, Oct 17, 2025 at 03:20:55PM -0400, Peter Geoghegan wrote:
> On Fri, Oct 17, 2025 at 3:11 PM Nathan Bossart <nathandbossart@gmail.com> wrote:
>> Anything else?  I suppose this idea is entirely dependent on the
>> maintainers of the abi-compliance-check code to adapt to it, so we'll need
>> buy-in from them, too.
> 
> That would require parsing the file and understanding that any
> compliance failures associated with a given commit should be
> suppressed. But that seems decidedly nontrivial to me. I can easily
> think of (admittedly somewhat contrived) scenarios where it's
> basically impossible to make this work due to transitive dependencies
> across commits.

I was imagining this working more like what Tom suggested.  IOW we'd use
the latest commit listed in the file (perhaps always the first one) as the
baseline.  Of course, this doesn't work too well if we have a bunch of ABI
breaks between buildfarm checks.  But my guess is that we could deal with
that pretty easily (e.g., make sure the buildfarm member in question runs
for every commit on the stable branch).

-- 
nathan



Commits

  1. Add commit 24f6c1bd4 to v17 .abi-compliance-history.

  2. Add .abi-compliance-history to back-branches.

  3. Add reminder to create .abi-compliance-history.

  4. Update .abi-compliance-history file.

  5. Add .abi-compliance-history to v18 branch.

  6. Fix thinko in commit 7d129ba54.

  7. Fix lookups in pg_{clear,restore}_{attribute,relation}_stats().

  8. Add defenses against unexpected changes in the NodeTag enum list.