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

Reply via email to