On Fri, Jan 28, 2022 at 9:25 PM Alvaro Herrera <alvhe...@alvh.no-ip.org> wrote: > > On 2022-Jan-28, Bharath Rupireddy wrote: > > > Hi, > > > > It seems like there are some instances where xloginsert.h is included > > right after xlog.h but xlog.h has already included xloginsert.h. > > Unless I'm missing something badly, we can safely remove including > > xloginsert.h after xlog.h. Attempting to post a patch to remove the > > extra xloginsert.h includes. > > Why isn't it better to remove the line that includes xloginsert.h in > xlog.h instead? When xloginsert.h was introduced (commit 2076db2aea76), > XLogRecData was put there so xloginsert.h was necessary for xlog.h; but > now we have a forward declaration (per commit 2c03216d8311) so it > doesn't seem needed anymore.
Removing the xloginsert.h in xlog.h would need us to add xloginsert.h in more areas. And also, it might break any non-core extensions that includes just xlog.h and gets xloginsert.h. Instead I prefer removing xloginsert.h if there's xlog.h included. Attaching v2 patch removing xloginsert.h in a few more places. Regards, Bharath Rupireddy.
From 00e6b9a3b24811c63568a176dc871e89f1356d03 Mon Sep 17 00:00:00 2001 From: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com> Date: Sat, 29 Jan 2022 13:19:21 +0000 Subject: [PATCH v2] remove extra includes of xloginsert.h when xlog.h is included --- src/backend/access/gin/ginfast.c | 1 - src/backend/access/heap/heapam.c | 1 - src/backend/access/nbtree/nbtpage.c | 1 - src/backend/access/nbtree/nbtsort.c | 1 - src/backend/access/spgist/spginsert.c | 1 - src/backend/access/transam/clog.c | 1 - src/backend/access/transam/twophase.c | 1 - src/backend/access/transam/xact.c | 1 - src/backend/access/transam/xloginsert.c | 1 - src/backend/catalog/storage.c | 1 - src/backend/commands/sequence.c | 1 - src/backend/utils/cache/relmapper.c | 1 - src/include/access/generic_xlog.h | 1 - 13 files changed, 13 deletions(-) diff --git a/src/backend/access/gin/ginfast.c b/src/backend/access/gin/ginfast.c index 7409fdc165..6f07b7b7d3 100644 --- a/src/backend/access/gin/ginfast.c +++ b/src/backend/access/gin/ginfast.c @@ -21,7 +21,6 @@ #include "access/gin_private.h" #include "access/ginxlog.h" #include "access/xlog.h" -#include "access/xloginsert.h" #include "catalog/pg_am.h" #include "commands/vacuum.h" #include "miscadmin.h" diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c index 98230aac49..b602627100 100644 --- a/src/backend/access/heap/heapam.c +++ b/src/backend/access/heap/heapam.c @@ -49,7 +49,6 @@ #include "access/visibilitymap.h" #include "access/xact.h" #include "access/xlog.h" -#include "access/xloginsert.h" #include "access/xlogutils.h" #include "catalog/catalog.h" #include "miscadmin.h" diff --git a/src/backend/access/nbtree/nbtpage.c b/src/backend/access/nbtree/nbtpage.c index 6b5f01e1d0..9048c9509e 100644 --- a/src/backend/access/nbtree/nbtpage.c +++ b/src/backend/access/nbtree/nbtpage.c @@ -27,7 +27,6 @@ #include "access/tableam.h" #include "access/transam.h" #include "access/xlog.h" -#include "access/xloginsert.h" #include "miscadmin.h" #include "storage/indexfsm.h" #include "storage/lmgr.h" diff --git a/src/backend/access/nbtree/nbtsort.c b/src/backend/access/nbtree/nbtsort.c index dc220146fd..9ee28db14d 100644 --- a/src/backend/access/nbtree/nbtsort.c +++ b/src/backend/access/nbtree/nbtsort.c @@ -51,7 +51,6 @@ #include "access/table.h" #include "access/xact.h" #include "access/xlog.h" -#include "access/xloginsert.h" #include "catalog/index.h" #include "commands/progress.h" #include "executor/instrument.h" diff --git a/src/backend/access/spgist/spginsert.c b/src/backend/access/spgist/spginsert.c index bfb74049d0..e5e311c3f6 100644 --- a/src/backend/access/spgist/spginsert.c +++ b/src/backend/access/spgist/spginsert.c @@ -21,7 +21,6 @@ #include "access/spgxlog.h" #include "access/tableam.h" #include "access/xlog.h" -#include "access/xloginsert.h" #include "catalog/index.h" #include "miscadmin.h" #include "storage/bufmgr.h" diff --git a/src/backend/access/transam/clog.c b/src/backend/access/transam/clog.c index de787c3d37..9fc2cbd6ba 100644 --- a/src/backend/access/transam/clog.c +++ b/src/backend/access/transam/clog.c @@ -36,7 +36,6 @@ #include "access/slru.h" #include "access/transam.h" #include "access/xlog.h" -#include "access/xloginsert.h" #include "access/xlogutils.h" #include "miscadmin.h" #include "pg_trace.h" diff --git a/src/backend/access/transam/twophase.c b/src/backend/access/transam/twophase.c index 271a3146db..2b2eb1b94e 100644 --- a/src/backend/access/transam/twophase.c +++ b/src/backend/access/transam/twophase.c @@ -84,7 +84,6 @@ #include "access/twophase_rmgr.h" #include "access/xact.h" #include "access/xlog.h" -#include "access/xloginsert.h" #include "access/xlogreader.h" #include "access/xlogutils.h" #include "catalog/pg_type.h" diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c index c9516e03fa..7a0d5da2cc 100644 --- a/src/backend/access/transam/xact.c +++ b/src/backend/access/transam/xact.c @@ -28,7 +28,6 @@ #include "access/twophase.h" #include "access/xact.h" #include "access/xlog.h" -#include "access/xloginsert.h" #include "access/xlogutils.h" #include "catalog/index.h" #include "catalog/namespace.h" diff --git a/src/backend/access/transam/xloginsert.c b/src/backend/access/transam/xloginsert.c index c260310c4c..0afb0716d3 100644 --- a/src/backend/access/transam/xloginsert.c +++ b/src/backend/access/transam/xloginsert.c @@ -22,7 +22,6 @@ #include "access/xact.h" #include "access/xlog.h" #include "access/xlog_internal.h" -#include "access/xloginsert.h" #include "catalog/pg_control.h" #include "common/pg_lzcompress.h" #include "executor/instrument.h" diff --git a/src/backend/catalog/storage.c b/src/backend/catalog/storage.c index 9b8075536a..1fc30e9584 100644 --- a/src/backend/catalog/storage.c +++ b/src/backend/catalog/storage.c @@ -23,7 +23,6 @@ #include "access/visibilitymap.h" #include "access/xact.h" #include "access/xlog.h" -#include "access/xloginsert.h" #include "access/xlogutils.h" #include "catalog/storage.h" #include "catalog/storage_xlog.h" diff --git a/src/backend/commands/sequence.c b/src/backend/commands/sequence.c index 27cb630758..24fa7fc9b9 100644 --- a/src/backend/commands/sequence.c +++ b/src/backend/commands/sequence.c @@ -22,7 +22,6 @@ #include "access/transam.h" #include "access/xact.h" #include "access/xlog.h" -#include "access/xloginsert.h" #include "access/xlogutils.h" #include "catalog/dependency.h" #include "catalog/indexing.h" diff --git a/src/backend/utils/cache/relmapper.c b/src/backend/utils/cache/relmapper.c index 4f6811f571..c173380257 100644 --- a/src/backend/utils/cache/relmapper.c +++ b/src/backend/utils/cache/relmapper.c @@ -45,7 +45,6 @@ #include "access/xact.h" #include "access/xlog.h" -#include "access/xloginsert.h" #include "catalog/catalog.h" #include "catalog/pg_tablespace.h" #include "catalog/storage.h" diff --git a/src/include/access/generic_xlog.h b/src/include/access/generic_xlog.h index c8363a4766..265d82742a 100644 --- a/src/include/access/generic_xlog.h +++ b/src/include/access/generic_xlog.h @@ -16,7 +16,6 @@ #include "access/xlog.h" #include "access/xlog_internal.h" -#include "access/xloginsert.h" #include "storage/bufpage.h" #include "utils/rel.h" -- 2.25.1