Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1vAt1q-006w6S-MR for pgsql-hackers@arkaria.postgresql.org; Mon, 20 Oct 2025 16:46:38 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1vAt1p-002Muq-0w for pgsql-hackers@arkaria.postgresql.org; Mon, 20 Oct 2025 16:46:36 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1vAt1o-002Mui-Mn for pgsql-hackers@lists.postgresql.org; Mon, 20 Oct 2025 16:46:35 +0000 Received: from mail-il1-x129.google.com ([2607:f8b0:4864:20::129]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vAt1l-003GZA-1V for pgsql-hackers@lists.postgresql.org; Mon, 20 Oct 2025 16:46:35 +0000 Received: by mail-il1-x129.google.com with SMTP id e9e14a558f8ab-430abca3354so44278085ab.2 for ; Mon, 20 Oct 2025 09:46:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760978791; x=1761583591; darn=lists.postgresql.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=tWkb563+yM6FjoS9XUIT/n+vQ7TddsPe6fh3RCg5Qdc=; b=Nyn6iyyJp+G3wpNGDMIag8aBi/ANLT1zze2dP7zBJqKXoaqY7K1Lu4jLnzKht9MAdm 7NSC544zM0bq4FJpFtUVYimPceyJqDsFCEbguf4TxetdrWlavxtuXjEC1sLfSiKJvQhu Ij5+NfUo3DMv/Ad+NKlk52oCV1pvbXKBeWIGdfVJ/uFO2hWakXteg/VNfC314ojua5jx gntnOw2IQZYmujboCI2tU5DrtX0jPXL3noNRuJtitt1px/H1LPR5lfeV97NLwSv0z7Ki H2LaZhEKHyEULZlfBLJITuAZU8WVmFEiTXIxzBNIgODyvATSvQp0ilndMdV8smBmT6Cy oDRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760978791; x=1761583591; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=tWkb563+yM6FjoS9XUIT/n+vQ7TddsPe6fh3RCg5Qdc=; b=Gh2+zcqPXKoSwpvbMYtcxKcZ3veJqG1/J6r3aSa7Sg5RCRbP2PdMgU8gxj/GWJiThr 7K0TWff38/RXJzOzHD7DnGu16TX+O/rug8ytRRLJdq1Eq35CAcJ0m8eUJ1f6KXeI33IJ qeWd1dGkw9XFyCdpH4Ndj62dzkngq4vXWdUiofO4sd2ULEyYxueFSVVJZhCpV0bna85C ElDnCRqbynEzDRI7p+sqz8KxMxLp4YdbP07jy/6uYnmWlOPgDr86WOaFq3PKVD3oQKpR j0xSC7nbsEf7oUxUDtc++ntmW9fsje2UWfk1RVD6hT/bZRPiIeROrstAU/1Zxv1hgX+D EIuw== X-Forwarded-Encrypted: i=1; AJvYcCUXn/Rwd9RvorQAgF4SAQ3+ah9a9+7N4v5ymhlsJ6ZscsJmemLEa2opvvVgYThflzCpucvHzB0nlAZMg7cP@lists.postgresql.org X-Gm-Message-State: AOJu0YyyYhqt1Z9tEWMaIJycIEOmIi7UK0j27c3L1ymfSAk4EhkAnhNk wf37UFBIRugtIrySnpWdnIgMePGWlrf7u+qeF38bN5NWgmLdbLgtKCbl X-Gm-Gg: ASbGnct3zL0U5gTQrshal1IE1SHyXaS2rD8Nav0yTK8qyYOLTVEHQ6BeUb/0qSLVnJE /ALcc7Z4WCQpld8B4hYwvrcPEwb666WjtE/2z1Uz31Zqo58M1BC7VOa9mT0bRHI3k4WgttCiCGs TxnSOfZ5bBq//sZFwuchyOkrdGL1PyQQQSkX+VTh73At4gYN+vMGwxkP4sleA6eBejvH+xjuRzr rXPTd7adhc4Tvx18yIL0R97ezN9cNL0UmRbODFB74PwhK/8xMVEFuLMl/7d95rnLePf4cDf5eS1 1M2+WBIbjqvY4fmTzsCWZb377Joe2U/VCQvmlP/8B0/PDM/yOBZAlL0S58HkXEIgqaynzxgurvt +ryHsNrIsJy/wGV8s34R5g121nTKR3gHLke5OBE690nyp17GdOGev8UYeyfCoEZPiqEhnJn5VNu 4gF8OXYR7NuHCuo1W/RsVks3WEu14VSU+95tpudiq2ZIud/7vgLbQBCLTE0LwXnt+3aeoZTbGRv jzU X-Google-Smtp-Source: AGHT+IHgBueh9t4wpNT70Af/Fv5+VFUBbDElVSwv0O9j3gQxkWW0+NI3bUMi32P3sPw2cYFVKU3d9w== X-Received: by 2002:a05:6e02:2506:b0:430:ad76:a5d3 with SMTP id e9e14a558f8ab-430c522d94dmr215336585ab.11.1760978789762; Mon, 20 Oct 2025 09:46:29 -0700 (PDT) Received: from nathan (162-195-168-172.lightspeed.stlsmo.sbcglobal.net. [162.195.168.172]) by smtp.gmail.com with ESMTPSA id 8926c6da1cb9f-5a8a973eab8sm3098482173.33.2025.10.20.09.46.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Oct 2025 09:46:28 -0700 (PDT) Date: Mon, 20 Oct 2025 11:46:27 -0500 From: Nathan Bossart To: Tom Lane Cc: "David E. Wheeler" , Mankirat Singh , 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() Message-ID: References: <1723302.1760726712@sss.pgh.pa.us> <78B81B37-9F27-4085-92DA-6B50DFC24361@justatheory.com> <1957147.1760800489@sss.pgh.pa.us> <17DB0A6A-C967-48A8-B1C0-9A4F31C4F8EF@justatheory.com> <230647.1760971159@sss.pgh.pa.us> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="YdFzzxv+DSXPn6Ot" Content-Disposition: inline In-Reply-To: <230647.1760971159@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --YdFzzxv+DSXPn6Ot Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Mon, Oct 20, 2025 at 10:39:19AM -0400, Tom Lane wrote: > OK, I pushed a placeholder following Nathan's formatting proposal. > The ABI checker should still complain, because I made it point at > REL_18_0^, which is what I expect we'd do in practice. After we > see it respond to that, we can move the reference point to where > it needs to be. Thanks. Here's a new patch set. The v18 patch is just an update to the .abi-compliance-history file that Tom committed. The master patch adds instructions for generating the file to RELEASE_NOTES. I imagine we'll want to add .abi-compliance-history files for the back-branches, too (except for perhaps v13, which is about to go out of support in a couple weeks). -- nathan --YdFzzxv+DSXPn6Ot Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=v2-0001-Add-notes-for-creating-.abi-compliance-history.patch.master From 64f9f480c759fabdaecdb7f7e0d1634d3fd6a50d Mon Sep 17 00:00:00 2001 From: Nathan Bossart Date: Mon, 20 Oct 2025 11:43:14 -0500 Subject: [PATCH v2 1/1] Add notes for creating .abi-compliance-history. --- src/tools/RELEASE_CHANGES | 5 +++++ src/tools/make_abi_history_file | 31 +++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100755 src/tools/make_abi_history_file diff --git a/src/tools/RELEASE_CHANGES b/src/tools/RELEASE_CHANGES index c0d75c213be..938dcbb7ab6 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 by running "src/tools/make_abi_history_file" (from the top of the + source tree) and then following the instructions in the file to add the + entry. + Pre-Beta Tasks ============== diff --git a/src/tools/make_abi_history_file b/src/tools/make_abi_history_file new file mode 100755 index 00000000000..1c6c1743695 --- /dev/null +++ b/src/tools/make_abi_history_file @@ -0,0 +1,31 @@ +#!/bin/sh + +# Copyright (c) 2025, PostgreSQL Global Development Group +# +# src/tools/make_abi_history_file +# +# NB: Must be run from top of source tree! + +cat << EOF >> .abi-compliance-history +# 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 placate 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%n#%n# %s%n# %cd%n#%n# " $ABIBREAKGITHASH -1 --date=iso +# +# Be sure to replace "" with details of your change and +# why it is deemed acceptable. + + +EOF -- 2.39.5 (Apple Git-154) --YdFzzxv+DSXPn6Ot Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=v2-0001-Update-.abi-compliance-history-file.patch.v18 From cbebfe6cf49f71e293136bf4ef482f894f0d8adc Mon Sep 17 00:00:00 2001 From: Nathan Bossart Date: Mon, 20 Oct 2025 11:21:04 -0500 Subject: [PATCH v2 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..b7265aa78fe 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 placate 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# " $ABIBREAKGITHASH -1 --date=iso +# +# Be sure to replace "" 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) --YdFzzxv+DSXPn6Ot--