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: Tom Lane <tgl@sss.pgh.pa.us>
Cc: "David E. Wheeler" <david@justatheory.com>, Bruce Momjian <bruce@momjian.us>, pgsql-hackers@postgresql.org, Andrew Dunstan <andrew@dunslane.net>, Mankirat Singh <mankiratsingh1315@gmail.com>
Date: 2025-10-30T15:30:44Z
Lists: pgsql-hackers
On Wed, Oct 29, 2025 at 10:49:24PM -0400, Tom Lane wrote:
> No; my proposal was "don't run the ABI check unless the branch has
> a .abi-compliance-history file".  master would normally not contain
> such a file, thus no check.  As I was just discussing with Bruce,
> we could put one there for awhile if we wanted to run ABI checks in
> advance of forking a stable branch.
> 
> The reason I'm so allergic to having any of these decisions made on
> the buildfarm-client side is years of herding cats^W^W trying to get
> buildfarm owners to update their script versions and/or config files.
> It's close to hopeless.  Thus, your proposal a message or three back
> to add another BF client config setting to control this sounds like
> the worst of all possible worlds.  If we needed a change in the
> setting, getting the farm to converge to that would take months if not
> years.  The idea that we could transiently enable checks between beta1
> and branch fork on the basis of that approach is downright risible.
> On the other hand, if the decisions are driven purely by what is in
> our git tree, a change is the work of moments.

I agree with Tom.  The lack of an .abi-compliance-history file should be
taken to mean that we're not interested in maintaining ABI compatibility
across commits for that branch, and the buildfarm check should be skipped.

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