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:39:15Z
Lists: pgsql-hackers
On Fri, Oct 17, 2025 at 03:33:28PM -0400, Peter Geoghegan wrote:
> On Fri, Oct 17, 2025 at 3:28 PM Nathan Bossart <nathandbossart@gmail.com> wrote:
>> 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.
> 
> You said "I suppose this idea is entirely dependent on the maintainers
> of the abi-compliance-check code to adapt to it", which I understood
> to mean that you thought that the upstream tool would somehow be made
> to accept these kinds of ignore files. Obviously I misunderstood.

Sorry, I wasn't clear there.

>> 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).
> 
> In practice I think that it would be up to the person writing the next
> suppression to verify that there were no unrelated changes in the
> interim between their new blessed/suppression commit and the prior
> one. That doesn't seem super onerous to me, given that even false
> positives don't seem to be all that common with
> abi-compliance-checker.

Agreed.  Even if someone forgets to do that validation, the chances of
missing something seem low.

-- 
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.