public inbox for [email protected]
help / color / mirror / Atom feedFrom: Alvaro Herrera <[email protected]>
To: Andres Freund <[email protected]>
Cc: Heikki Linnakangas <[email protected]>
Cc: [email protected]
Cc: Amit Kapila <[email protected]>
Cc: Michael Paquier <[email protected]>
Subject: Re: pgstat include expansion
Date: Thu, 26 Feb 2026 16:59:12 +0100
Message-ID: <[email protected]> (raw)
In-Reply-To: <55orfweo3sys7g5vstb3ufv7es2fxyi2tj7rrfwn4okasay5hw@eiktf4jpwnnz>
On 2026-Feb-26, Andres Freund wrote:
> On 2026-02-26 14:52:10 +0100, Alvaro Herrera wrote:
> > This one removes wait_event.h from pgstat.h. The only difference from
> > the previous one, aside from the fact that I had to add pgstat.h to a
> > few more .c files, is that xlogreader.c needs to include it inside the
> > #ifndef FRONTEND; otherwise, "ninja -t missingdeps" complain about the
> > file being used in pg_rewind and pg_waldump (seen in CI).
>
> I'm somewhat worried about the amount of breakage this will cause in
> extensions. Many extensions use something like
> WaitLatch(wait_event_info = WAIT_EVENT_EXTENSION)
> and many of them won't have included wait_event.h.
Yeah, I considered that, and instead of breaking these, to include
wait_event.h in latch.h. This sounds a very reasonable thing to do.
But then I searched for other headers that have a wait_event_info
parameter in one of their functions, and if we force those to also
acquire wait_event.h, then the pollution is much worse than if we just
leave it in pgstat.h. (condition_variable.h, fd.h, proc.h, barrier.h).
The problem is that some of those headers are in turn being included by
others; most notably condition_variable.h is used in execnodes.h and
others, and that makes a huge mess. (And it can't be removed.)
However, maybe we can just not be so principled about it, add it to
latch.h, and then we don't break the whole world. I'll try that.
--
Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/
"Finally, the phrase, 'No one was ever fired for buying an IBM' I don't believe
has ever been translated into German." (Leonard Tramiel)
view thread (2+ messages)
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: [email protected]
Cc: [email protected], [email protected], [email protected], [email protected], [email protected]
Subject: Re: pgstat include expansion
In-Reply-To: <[email protected]>
* 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