Re: Our ABI diff infrastructure ignores enum SysCacheIdentifier

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Andreas Karlsson <andreas(at)proxel(dot)se>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Our ABI diff infrastructure ignores enum SysCacheIdentifier
Date: 2026-04-06 00:01:24
Message-ID: adL31OAB8L7EVRFJ@paquier.xyz
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Mar 27, 2026 at 05:17:49PM -0400, Andres Freund wrote:
> With ee642cccc43c a change to syscache.h rebuilds 632 files. With ee642cccc43c
> reverted, it's just 196.

Point received.

> Leaving build impact aside, I don't think it's good to expose a relatively low
> level detail like syscache.h to most of the backend. It's imo something that
> only .c, never .h files should need.

And as we already define SysCacheIdentifier in its own header, this
can be answered with the attached, removing the need for syscache.h in
objectaddress.h and inval.h. The trick in genbki.pl was needed to
avoid some noise due to -Wenum-compare in a couple of files.

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.
Anyway, the attached should take care of your main concern, I guess?
--
Michael

Attachment Content-Type Size
0001-Remove-some-syscache-includes.patch text/plain 2.1 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2026-04-06 00:05:15 Re: Adding locks statistics
Previous Message Heikki Linnakangas 2026-04-05 23:28:47 Re: Better shared data structure management and resizable shared data structures