agora inbox for pgsql-hackers@postgresql.org  
help / color / mirror / Atom feed
From: Nathan Bossart <nathandbossart@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: David E. Wheeler <david@justatheory.com>
Cc: Mankirat Singh <mankiratsingh1315@gmail.com>
Cc: pg@bowt.ie
Cc: andrew@dunslane.net
Cc: pgsql-hackers@lists.postgresql.org
Subject: Re: abi-compliance-check failure due to recent changes to pg_{clear,restore}_{attribute,relation}_stats()
Date: Mon, 20 Oct 2025 13:30:49 -0500
Message-ID: <aPZ_2a1EQvofxeci@nathan> (raw)
In-Reply-To: <aPZt4b5beRPxjgI-@nathan>
References: <78B81B37-9F27-4085-92DA-6B50DFC24361@justatheory.com>
	<CAOtk82QCHhWwO=zB-KFYch3JLf8Si4Bk77R_0cgsHjkwuhR9Vg@mail.gmail.com>
	<1957147.1760800489@sss.pgh.pa.us>
	<17DB0A6A-C967-48A8-B1C0-9A4F31C4F8EF@justatheory.com>
	<CAOtk82T=OO3e=SYPyHZq50wfyt569E6t=ee4b7va2y08M+a0SQ@mail.gmail.com>
	<F6567E02-23FD-455C-95D2-5CB076BC4E65@justatheory.com>
	<230647.1760971159@sss.pgh.pa.us>
	<aPZnY0Icgw1RGaGP@nathan>
	<334460.1760980024@sss.pgh.pa.us>
	<aPZt4b5beRPxjgI-@nathan>

On Mon, Oct 20, 2025 at 12:14:09PM -0500, Nathan Bossart wrote:
> On Mon, Oct 20, 2025 at 01:07:04PM -0400, Tom Lane wrote:
>> I'd tend to s/placate/control/, otherwise the proposed wording in the
>> file looks good.  I doubt we really need a script to generate the
>> file in the first place -- why wouldn't copying another branch's
>> boilerplate be good enough?  If you're set on having a script,
>> at least make it pre-fill the initial entry.  (Using branch HEAD
>> ought to be good enough for that.)
> 
> I'm fine with leaving out the script if you are.  It was only aimed at
> making the release checklist a little less cumbersome, but even without the
> script it's a whopping minute or two of effort that only needs to happen
> once per year.  I've probably already spent far more time automating it
> than makes sense [0].

Here is an updated patch set.

-- 
nathan
From 02e535e224b6990fd12359fb4c01c762adacb682 Mon Sep 17 00:00:00 2001
From: Nathan Bossart <nathan@postgresql.org>
Date: Mon, 20 Oct 2025 11:43:14 -0500
Subject: [PATCH v3 1/1] Add notes for creating .abi-compliance-history.

---
 src/tools/RELEASE_CHANGES | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/tools/RELEASE_CHANGES b/src/tools/RELEASE_CHANGES
index c0d75c213be..a7c20855d54 100644
--- a/src/tools/RELEASE_CHANGES
+++ b/src/tools/RELEASE_CHANGES
@@ -61,6 +61,11 @@ in both master and the branch.
 * Ports
 	o update ports list in doc/src/sgml/installation.sgml
 
+* Create .abi-compliance-history file with initial entry shortly before the .0
+  stamp.  The easiest way to do this is to copy it from the previous
+  REL_*_STABLE branch, remove all entries, and follow the instructions in the
+  file to add the initial reference point for the major version.
+
 
 Pre-Beta Tasks
 ==============
-- 
2.39.5 (Apple Git-154)
From 93f53c805f4f43dfa79b0d48039999d3b13f5b55 Mon Sep 17 00:00:00 2001
From: Nathan Bossart <nathan@postgresql.org>
Date: Mon, 20 Oct 2025 11:21:04 -0500
Subject: [PATCH v3 1/1] Update .abi-compliance-history file.

---
 .abi-compliance-history | 35 ++++++++++++++++++++++++++++++++---
 1 file changed, 32 insertions(+), 3 deletions(-)

diff --git a/.abi-compliance-history b/.abi-compliance-history
index 3d0d26aff90..68f8b3bcfc1 100644
--- a/.abi-compliance-history
+++ b/.abi-compliance-history
@@ -1,7 +1,36 @@
 # Reference point for ABI compliance checks
+#
+# This file lists commits on the current branch that break ABI compatibility in
+# ways that have been deemed acceptable (e.g., removing an extern function with
+# no third-party uses).  The primary intent of this file is to control the ABI
+# compliance checks on the buildfarm, but it also serves as a central location
+# to document the justification for each.
+#
+# In general, entries should be added reactively after an abi-compliance-check
+# buildfarm failure.  It is important to verify the details of the breakage
+# match expectations, as the first entry listed will become the updated ABI
+# baseline point.
+#
 # Add new entries by adding the output of the following to the top of the file:
-# $ git log --pretty=format:"%H # %cd%n# %s" $ABIBREAKGITHASH -1 --date=iso
 #
-# Initial entry would normally point to a commit slightly before the .0 stamp.
-9bbcec6030a2744d83311370ec92213fbd76e514 # 2025-09-22 14:18:56 +0200
+# $ git log --pretty=format:"%H%n#%n# %s%n# %cd%n#%n# <ADD JUSTIFICATION HERE>" $ABIBREAKGITHASH -1 --date=iso
+#
+# Be sure to replace "<ADD JUSTIFICATION HERE>" with details of your change and
+# why it is deemed acceptable.
+
+c8af5019bee5c57502db830f8005a01cba60fee0
+#
+# Fix lookups in pg_{clear,restore}_{attribute,relation}_stats().
+# 2025-10-15 12:47:33 -0500
+#
+# This commit replaced two functions related to lookups/privilege checks for
+# the new stats stuff in v18 with RangeVarGetRelidExtended().  These functions
+# were not intended for use elsewhere, exist in exactly one release (18.0), and
+# do not have any known third-party callers.
+
+9bbcec6030a2744d83311370ec92213fbd76e514
+#
 # Translation updates
+# 2025-09-22 14:18:56 +0200
+#
+# This is the original ABI baseline point for REL_18_STABLE.
-- 
2.39.5 (Apple Git-154)

Attachments:

  [text/plain] v3-0001-Add-notes-for-creating-.abi-compliance-history.patch.master (945B, ../aPZ_2a1EQvofxeci@nathan/2-v3-0001-Add-notes-for-creating-.abi-compliance-history.patch.master)
  download | inline diff:
From 02e535e224b6990fd12359fb4c01c762adacb682 Mon Sep 17 00:00:00 2001
From: Nathan Bossart <nathan@postgresql.org>
Date: Mon, 20 Oct 2025 11:43:14 -0500
Subject: [PATCH v3 1/1] Add notes for creating .abi-compliance-history.

---
 src/tools/RELEASE_CHANGES | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/tools/RELEASE_CHANGES b/src/tools/RELEASE_CHANGES
index c0d75c213be..a7c20855d54 100644
--- a/src/tools/RELEASE_CHANGES
+++ b/src/tools/RELEASE_CHANGES
@@ -61,6 +61,11 @@ in both master and the branch.
 * Ports
 	o update ports list in doc/src/sgml/installation.sgml
 
+* Create .abi-compliance-history file with initial entry shortly before the .0
+  stamp.  The easiest way to do this is to copy it from the previous
+  REL_*_STABLE branch, remove all entries, and follow the instructions in the
+  file to add the initial reference point for the major version.
+
 
 Pre-Beta Tasks
 ==============
-- 
2.39.5 (Apple Git-154)

  [text/plain] v3-0001-Update-.abi-compliance-history-file.patch.v18 (2.3K, ../aPZ_2a1EQvofxeci@nathan/3-v3-0001-Update-.abi-compliance-history-file.patch.v18)
  download | inline diff:
From 93f53c805f4f43dfa79b0d48039999d3b13f5b55 Mon Sep 17 00:00:00 2001
From: Nathan Bossart <nathan@postgresql.org>
Date: Mon, 20 Oct 2025 11:21:04 -0500
Subject: [PATCH v3 1/1] Update .abi-compliance-history file.

---
 .abi-compliance-history | 35 ++++++++++++++++++++++++++++++++---
 1 file changed, 32 insertions(+), 3 deletions(-)

diff --git a/.abi-compliance-history b/.abi-compliance-history
index 3d0d26aff90..68f8b3bcfc1 100644
--- a/.abi-compliance-history
+++ b/.abi-compliance-history
@@ -1,7 +1,36 @@
 # Reference point for ABI compliance checks
+#
+# This file lists commits on the current branch that break ABI compatibility in
+# ways that have been deemed acceptable (e.g., removing an extern function with
+# no third-party uses).  The primary intent of this file is to control the ABI
+# compliance checks on the buildfarm, but it also serves as a central location
+# to document the justification for each.
+#
+# In general, entries should be added reactively after an abi-compliance-check
+# buildfarm failure.  It is important to verify the details of the breakage
+# match expectations, as the first entry listed will become the updated ABI
+# baseline point.
+#
 # Add new entries by adding the output of the following to the top of the file:
-# $ git log --pretty=format:"%H # %cd%n# %s" $ABIBREAKGITHASH -1 --date=iso
 #
-# Initial entry would normally point to a commit slightly before the .0 stamp.
-9bbcec6030a2744d83311370ec92213fbd76e514 # 2025-09-22 14:18:56 +0200
+# $ git log --pretty=format:"%H%n#%n# %s%n# %cd%n#%n# <ADD JUSTIFICATION HERE>" $ABIBREAKGITHASH -1 --date=iso
+#
+# Be sure to replace "<ADD JUSTIFICATION HERE>" with details of your change and
+# why it is deemed acceptable.
+
+c8af5019bee5c57502db830f8005a01cba60fee0
+#
+# Fix lookups in pg_{clear,restore}_{attribute,relation}_stats().
+# 2025-10-15 12:47:33 -0500
+#
+# This commit replaced two functions related to lookups/privilege checks for
+# the new stats stuff in v18 with RangeVarGetRelidExtended().  These functions
+# were not intended for use elsewhere, exist in exactly one release (18.0), and
+# do not have any known third-party callers.
+
+9bbcec6030a2744d83311370ec92213fbd76e514
+#
 # Translation updates
+# 2025-09-22 14:18:56 +0200
+#
+# This is the original ABI baseline point for REL_18_STABLE.
-- 
2.39.5 (Apple Git-154)

view thread (70+ messages)  latest in thread

Message-ID: <aPZ_2a1EQvofxeci@nathan>
Permalink:  ../aPZ_2a1EQvofxeci@nathan/
Also on:    postgresql.org/message-id/aPZ_2a1EQvofxeci@nathan

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-hackers@postgresql.org
  Cc: nathandbossart@gmail.com, tgl@sss.pgh.pa.us, david@justatheory.com, mankiratsingh1315@gmail.com, pg@bowt.ie, andrew@dunslane.net, pgsql-hackers@lists.postgresql.org
  Subject: Re: abi-compliance-check failure due to recent changes to pg_{clear,restore}_{attribute,relation}_stats()
  In-Reply-To: <aPZ_2a1EQvofxeci@nathan>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox