pgsql: Don't include wait_event.h in pgstat.h

From: Álvaro Herrera <alvherre(at)kurilemu(dot)de>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Don't include wait_event.h in pgstat.h
Date: 2026-03-06 15:25:50
Message-ID: E1vyX3m-002grE-2U@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Don't include wait_event.h in pgstat.h

wait_event.h itself includes wait_event_types.h, which is a generated
file, so it's nice that we can avoid compiling >10% of the tree just
because that file is regenerated.

To avoid breaking too many third-party modules, we now #include
utils/wait_classes.h in storage/latch.h. Then, the very common case
of doing
WaitLatch(..., PG_WAIT_EXTENSION)
continues to work by including just storage/latch.h. (I didn't try to
determine how many modules would actually break if we don't do this, but
this seems a convenient and low-impact measure.)

Reviewed-by: Andres Freund <andres(at)anarazel(dot)de>
Discussion: https://postgr.es/m/202602181214.gcmhx2vhlxzp@alvherre.pgsql

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/868825aaeb4099081364b563e532c30c1b31cabd

Modified Files
--------------
contrib/pg_prewarm/autoprewarm.c | 1 +
src/backend/access/brin/brin.c | 1 +
src/backend/access/gin/gininsert.c | 1 +
src/backend/access/heap/rewriteheap.c | 1 +
src/backend/access/heap/vacuumlazy.c | 1 +
src/backend/access/nbtree/nbtree.c | 1 +
src/backend/access/nbtree/nbtsort.c | 1 +
src/backend/access/transam/clog.c | 1 +
src/backend/access/transam/parallel.c | 1 +
src/backend/access/transam/slru.c | 1 +
src/backend/access/transam/timeline.c | 1 +
src/backend/access/transam/twophase.c | 1 +
src/backend/access/transam/xact.c | 1 +
src/backend/access/transam/xlog.c | 1 +
src/backend/access/transam/xlogarchive.c | 1 +
src/backend/access/transam/xlogfuncs.c | 1 +
src/backend/access/transam/xlogreader.c | 1 +
src/backend/access/transam/xlogrecovery.c | 1 +
src/backend/access/transam/xlogwait.c | 1 +
src/backend/archive/shell_archive.c | 1 +
src/backend/backup/basebackup.c | 1 +
src/backend/backup/basebackup_throttle.c | 1 +
src/backend/commands/copyfromparse.c | 1 +
src/backend/commands/copyto.c | 1 +
src/backend/commands/dbcommands.c | 1 +
src/backend/commands/vacuum.c | 1 +
src/backend/executor/nodeAppend.c | 1 +
src/backend/executor/nodeBitmapHeapscan.c | 1 +
src/backend/libpq/be-secure-gssapi.c | 1 +
src/backend/libpq/be-secure-openssl.c | 1 +
src/backend/libpq/pqmq.c | 1 +
src/backend/postmaster/autovacuum.c | 1 +
src/backend/postmaster/auxprocess.c | 1 +
src/backend/postmaster/bgworker.c | 1 +
src/backend/postmaster/bgwriter.c | 1 +
src/backend/postmaster/checkpointer.c | 1 +
src/backend/postmaster/pgarch.c | 1 +
src/backend/postmaster/syslogger.c | 1 +
src/backend/postmaster/walwriter.c | 1 +
src/backend/replication/logical/applyparallelworker.c | 1 +
src/backend/replication/logical/launcher.c | 1 +
src/backend/replication/logical/origin.c | 1 +
src/backend/replication/logical/reorderbuffer.c | 1 +
src/backend/replication/logical/slotsync.c | 1 +
src/backend/replication/logical/snapbuild.c | 3 +++
src/backend/replication/logical/tablesync.c | 1 +
src/backend/replication/logical/worker.c | 1 +
src/backend/replication/slot.c | 1 +
src/backend/replication/syncrep.c | 1 +
src/backend/replication/walreceiver.c | 1 +
src/backend/replication/walreceiverfuncs.c | 1 +
src/backend/replication/walsender.c | 1 +
src/backend/storage/buffer/bufmgr.c | 1 +
src/backend/storage/file/buffile.c | 1 +
src/backend/storage/file/copydir.c | 1 +
src/backend/storage/file/fd.c | 1 +
src/backend/storage/ipc/dsm_impl.c | 1 +
src/backend/storage/ipc/ipci.c | 1 +
src/backend/storage/ipc/procarray.c | 1 +
src/backend/storage/ipc/procsignal.c | 1 +
src/backend/storage/ipc/shm_mq.c | 1 +
src/backend/storage/ipc/signalfuncs.c | 1 +
src/backend/storage/ipc/standby.c | 1 +
src/backend/storage/ipc/waiteventset.c | 1 +
src/backend/storage/lmgr/lwlock.c | 1 +
src/backend/storage/lmgr/predicate.c | 1 +
src/backend/storage/lmgr/proc.c | 1 +
src/backend/storage/smgr/md.c | 1 +
src/backend/storage/sync/sync.c | 1 +
src/backend/utils/adt/misc.c | 1 +
src/backend/utils/adt/pgstatfuncs.c | 1 +
src/backend/utils/cache/relmapper.c | 1 +
src/backend/utils/init/miscinit.c | 1 +
src/common/controldata_utils.c | 1 +
src/include/pgstat.h | 1 -
src/include/storage/latch.h | 2 ++
src/test/modules/test_shm_mq/setup.c | 1 +
src/test/modules/test_shm_mq/test.c | 1 +
src/test/modules/worker_spi/worker_spi.c | 1 +
79 files changed, 81 insertions(+), 1 deletion(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Jeff Davis 2026-03-06 16:44:00 pgsql: CREATE SUBSCRIPTION ... SERVER.
Previous Message Andrey Borodin 2026-03-06 15:24:30 Re: pgsql: Perform provider-specific initialization in new functions.