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.96) (envelope-from ) id 1wAIef-002FTz-2W for pgsql-hackers@arkaria.postgresql.org; Wed, 08 Apr 2026 02:28:33 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wAIed-0049fH-38 for pgsql-hackers@arkaria.postgresql.org; Wed, 08 Apr 2026 02:28:32 +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.96) (envelope-from ) id 1wAIed-0049f8-24 for pgsql-hackers@lists.postgresql.org; Wed, 08 Apr 2026 02:28:32 +0000 Received: from fout-a4-smtp.messagingengine.com ([103.168.172.147]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1wAIeb-00000001DxY-2cv3 for pgsql-hackers@lists.postgresql.org; Wed, 08 Apr 2026 02:28:31 +0000 Received: from phl-compute-06.internal (phl-compute-06.internal [10.202.2.46]) by mailfout.phl.internal (Postfix) with ESMTP id 3E963EC0189; Tue, 7 Apr 2026 22:28:28 -0400 (EDT) Received: from phl-frontend-03 ([10.202.2.162]) by phl-compute-06.internal (MEProxy); Tue, 07 Apr 2026 22:28:28 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=paquier.xyz; h= cc:cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm2; t=1775615308; x=1775701708; bh=s4NnCOHTRP rGwr+sElEtQ1WfrFP2+Mh+8ZsfbMUYask=; b=Jbvrzj4PZjeZ8NlE3wLl2y+Cku rvwnFPa3UZVuhuOgO1F0GY3Gyrrm3MFxWFmh2qI+t3Rzbd/iP1H8CaB1Hea6CRyT WmKCL4qXf/0AYR/h6MykhPEUFw4j1qkpeh7AKHLCjaW5+vTA6OT+ryv5D1nmmN8T z70OUgQnenq2nMjqnq+hpXAb4WjL5lbJ6NmnSZwXnTOVayBwb2NZ+l5yyfej1FiJ UHS6DeSRwf5xtRe3LUs09VpiqhbJOfJiZAoKg8LLJPg7yhyHSxSXUJ/4+CK+7Btm zRvyq1jfIEwXzic8h4XWNhb22A9IHW4D9gUkElxfTY25JCuhJQlLczEPjpyg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1775615308; x=1775701708; bh=s4NnCOHTRPrGwr+sElEtQ1WfrFP2+Mh+8Zs fbMUYask=; b=SO9c2SItTX49J5WxXXMg4MY/n5KS44ajXEVOoVj/X6je0+JXE9t tMXuSa1NirrJn7MMQ20L6dv9URLoWH/KaweYyP1Luxu9TtxkwsiwMyHT3GkU4iQm ShXHFPm8xcBNycCym6F1IU+Y0ChTaovXjD+iWrhG1l9qWEeHkE9kL143A8Cswf5U pRu74wVdhkNGZuGt1vFNCECC3AkQNgjAG94EFYLN7ZxWDcvKDzqkau8HfckTuJ73 ZBQhjNaNFj2Fz71jKR8CM5YVuApwUQSpNGCQ1POo8B4Qe7S2a3lDgA0mafP21AVf 7516aEN3ZeniwMe5sK0u0w98nEKBxt6xtwg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefhedrtddtgddvvdefiecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpuffrtefokffrpgfnqfghnecuuegr ihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenfghrlh cuvffnffculdejtddmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtvden ucfhrhhomhepofhitghhrggvlhcurfgrqhhuihgvrhcuoehmihgthhgrvghlsehprghquh hivghrrdighiiiqeenucggtffrrghtthgvrhhnpeetleeifedufffhhfdtteelgeeggeff hfekueevteeigfduudevudetgfegiedvjeenucevlhhushhtvghrufhiiigvpedtnecurf grrhgrmhepmhgrihhlfhhrohhmpehmihgthhgrvghlsehprghquhhivghrrdighiiipdhn sggprhgtphhtthhopeegpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopegrnhgurh gvshesrghnrghrrgiivghlrdguvgdprhgtphhtthhopegrnhgurhgvrghssehprhhogigv lhdrshgvpdhrtghpthhtohepthhglhesshhsshdrphhghhdrphgrrdhushdprhgtphhtth hopehpghhsqhhlqdhhrggtkhgvrhhssehlihhsthhsrdhpohhsthhgrhgvshhqlhdrohhr gh X-ME-Proxy: Feedback-ID: i0fe9450f:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 7 Apr 2026 22:28:18 -0400 (EDT) Date: Wed, 8 Apr 2026 11:28:13 +0900 From: Michael Paquier To: Andres Freund Cc: Andreas Karlsson , Tom Lane , pgsql-hackers@lists.postgresql.org Subject: Re: Our ABI diff infrastructure ignores enum SysCacheIdentifier Message-ID: References: <1b901fbf-655d-434c-aff4-ee06313d31cd@proxel.se> <4be75b7d-587f-4217-b0ed-396949d90b43@proxel.se> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="oRa2YJNDB3qCyDqN" Content-Disposition: inline In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --oRa2YJNDB3qCyDqN Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Apr 05, 2026 at 10:09:48PM -0400, Andres Freund wrote: >> The trick in genbki.pl was needed to avoid some noise due to -Wenum-comp= are >> in a couple of files. >=20 > You mean the include guards? Seems they should be added regardless of > anything else. They would be needed with this patch. Now we don't need them as syscache.h is the only location where syscache_ids.h is pulled in. > ISTM a better direction would be to make MAKE_SYSCACHE(name,idxname,nbuck= ets) > declare something like > extern SysCache name; >=20 > where SysCache is a forward declared struct type with the definition priv= ate > to a C file or an internals header. > > And then have genbki emit definitions of those that gets included into a C > file. That struct can then have all the necessary spce to avoid having to > having to allocate as much and perhaps even get some of the metadata spec= ified > at compile time, so it doesn't have to be redone in every backend. Perhaps. not for v19 for sure. >> Would you prefer a different option? That would protect from large >> rebuilds should syscache.h be touched in some way. A different option >> would be to move get_object_catcache_oid() and >> get_object_catcache_name() out of objectaddress.h to a different >> header, limiting the scope of what's pulled in objectaddress.h. >=20 > I frankly would just make those return an integer. Not sure about that. We know what we are getting by calling this API with the type defined, at least. >> Anyway, the attached should take care of your main concern, I guess? >=20 > It'd be better than today. I don't like the syscache ids being known > everywhere, but it's better than those being known as well as the rest of > syscache.h. Well, the main point being to be able to detect breakages more carefully, I am still curious to see where this experiment will lead us, so I'd be content to leave the code as-is on HEAD, adjusting things based on what I have sent in my previous email. If we are able to detect one problem, at least, that would be a win for me, and the solution of HEAD is much better than creating fake routines to tell ABI detection libraries about the existence of the enum, at least that's my take. If others have any comments and/or opinions, feel free of course. -- Michael --oRa2YJNDB3qCyDqN Content-Type: application/pgp-signature; name=signature.asc -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEG72nH6vTowiyblFKnvQgOdbyQH0FAmnVvT0ACgkQnvQgOdby QH07lRAAlv+8pS5NpGL/KfkR8wLOp56nylXzHMLhVn2WXjtH8lnoXYMG5m45GSp+ mUbmHIOJ2+6Zgc6PkQZTgEjAg2b9CKDRbtGGYrNWQ3sixXCS4WYP6pIA7ZLMPyJU yH4oXeq8S5wnkTFdl+KUR8cIKBHjwHSVW0M47M9/Lm5aKpV1o3SJKYqbBDhUUjpW 2FwARKDFo9SwUM73MEa+GiSghv93aWTIoQTVXpeCYmugH6fBNHokBpViM/f3VYH5 zMVBv9zZW8pihwSDM2tjtNbwr7VGeT7M1WNC31s4SODZMYVxPDNWuVSUh8oXK6zG BVHLT9qAXvgnJW73lbILgm1YN7iXyWew0KuffQZ9Z7L9UujZPXCgRlfCBfDTkcFb k+vlI/IjSvf1gPl8PptwkK6H5gaGK74H1z8h4KhMCmfJPgFv1l0GQ0SEDhZtaoRW G+saEtTydZRSkKfIpqJMsZpyW8qWGRWH7jQRlnL5Gyk7y5JdYF+AvR+8mUikWQgr uNaHFyowmjpuw+t72ye+l1gf8eAV+RuAGbfoCzcziJQmNPSI8ma6CXthyrmR+16p R3Mvr47tXrxtQ0/+urSkJ+swLhp3ua7kc6RuPYh9p9RLhgQLE4uShZq9Xvi0pOk6 aqqrSuwUgJtooAmVFm5WHSQ0IK2R1lR2gjyIBidfRZx40Xnwd/0= =q+Mj -----END PGP SIGNATURE----- --oRa2YJNDB3qCyDqN--