From 9c0de04242a160aa1d4afeefab7d2e40efd8255d Mon Sep 17 00:00:00 2001 From: Alvaro Herrera Date: Wed, 12 Oct 2022 09:44:40 +0200 Subject: [PATCH] Reduce xlog.h inclusion footprint This file needs xlogreader.h only for the XLogReaderState typedef; but we can dodge that by forward-declaring it. Many files use xlog.h for reasons other than reading WAL, and it's not good to force all those files to include xlogreader.h, so take it out. Surprisingly, there is no fallout in core code from making this change. Perhaps external code will have to start including xlogreader.h. --- src/include/access/xlog.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/include/access/xlog.h b/src/include/access/xlog.h index dce265098e..1fbd48fbda 100644 --- a/src/include/access/xlog.h +++ b/src/include/access/xlog.h @@ -13,7 +13,6 @@ #include "access/xlogbackup.h" #include "access/xlogdefs.h" -#include "access/xlogreader.h" #include "datatype/timestamp.h" #include "lib/stringinfo.h" #include "nodes/pg_list.h" @@ -192,6 +191,7 @@ typedef enum WALAvailability } WALAvailability; struct XLogRecData; +struct XLogReaderState; extern XLogRecPtr XLogInsertRecord(struct XLogRecData *rdata, XLogRecPtr fpw_lsn, @@ -209,8 +209,8 @@ extern XLogSegNo XLogGetLastRemovedSegno(void); extern void XLogSetAsyncXactLSN(XLogRecPtr asyncXactLSN); extern void XLogSetReplicationSlotMinimumLSN(XLogRecPtr lsn); -extern void xlog_redo(XLogReaderState *record); -extern void xlog_desc(StringInfo buf, XLogReaderState *record); +extern void xlog_redo(struct XLogReaderState *record); +extern void xlog_desc(StringInfo buf, struct XLogReaderState *record); extern const char *xlog_identify(uint8 info); extern void issue_xlog_fsync(int fd, XLogSegNo segno, TimeLineID tli);