agora inbox for pgsql-hackers@postgresql.org
help / color / mirror / Atom feedFrom: 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