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

David E. Wheeler <david@justatheory.com>

From: "David E. Wheeler" <david@justatheory.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Nathan Bossart <nathandbossart@gmail.com>, pgsql-hackers@postgresql.org, Andrew Dunstan <andrew@dunslane.net>, Mankirat Singh <mankiratsingh1315@gmail.com>
Date: 2025-10-18T15:46:23Z
Lists: pgsql-hackers
On Oct 17, 2025, at 19:07, Tom Lane <tgl@sss.pgh.pa.us> wrote:

> That seems overcomplicated: how does the buildfarm know
> what's a maintenance branch?  I think the rule should be
> just "run ABI checks if the control file exists, else not".
> 
> As an example of why that's better, what if we did decide
> we wanted ABI checks on master?

It’s part of the design of the build farm. The setup() function[0] checks various things to see if it should be run, e.g.,

```perl
	if ($^O ne 'linux')
	{
		emit("Only Linux is supported for ABICompCheck Module, skipping.");
		return;
	}

	# Only proceed if this is a stable branch with git SCM, not using msvc
	if ($conf->{scm} ne 'git')
	{
		emit("Only git SCM is supported for ABICompCheck Module, skipping.");
		return;
	}
	if ($branch !~ /_STABLE$/)
	{
		emit("Skipping ABI check; '$branch' is not a stable branch.");
		return;
	}
```

So as long as the branch naming remains consistent it should work.

D


[0] https://github.com/PGBuildFarm/client-code/pull/38/files#diff-207ca93813cc123f656dbb12b7723d305e9ade5e03d7b1cdb406180e4eaab9a2R194