summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorÁlvaro Herrera <alvherre@kurilemu.de>2025-08-14 17:48:46 +0200
committerÁlvaro Herrera <alvherre@kurilemu.de>2025-08-14 17:48:46 +0200
commitd0e7e04ede165abc95ca16bd9fa93284cc4dac6d (patch)
treeffce367bc72aee167a66f3a7473fd2f00ba35168 /src
parented0736172170bdae800b28e3555241b82854f09f (diff)
Avoid including tableam.h and xlogreader.h in nbtree.h
Doing that seems rather random and unnecessary. This commit removes those and fixes fallout, which is pretty minimal. We do need to add a forward declaration of struct TM_IndexDeleteOp (whose full definition appears in tableam.h) so that _bt_delitems_delete_check()'s declaration can use it. Author: Álvaro Herrera <alvherre@kurilemu.de> Reviewed-by: Bertrand Drouvot <bertranddrouvot.pg@gmail.com> Discussion: https://postgr.es/m/202508051109.lzk3lcuzsaxo@alvherre.pgsql
Diffstat (limited to 'src')
-rw-r--r--src/backend/access/nbtree/nbtdedup.c1
-rw-r--r--src/backend/access/nbtree/nbtinsert.c1
-rw-r--r--src/backend/access/nbtree/nbtpreprocesskeys.c2
-rw-r--r--src/backend/access/nbtree/nbtsort.c1
-rw-r--r--src/backend/access/nbtree/nbtsplitloc.c1
-rw-r--r--src/backend/access/nbtree/nbtutils.c3
-rw-r--r--src/backend/utils/sort/tuplesortvariants.c1
-rw-r--r--src/include/access/nbtree.h6
8 files changed, 13 insertions, 3 deletions
diff --git a/src/backend/access/nbtree/nbtdedup.c b/src/backend/access/nbtree/nbtdedup.c
index 08884116aec..ab0b6946cb0 100644
--- a/src/backend/access/nbtree/nbtdedup.c
+++ b/src/backend/access/nbtree/nbtdedup.c
@@ -16,6 +16,7 @@
#include "access/nbtree.h"
#include "access/nbtxlog.h"
+#include "access/tableam.h"
#include "access/xloginsert.h"
#include "miscadmin.h"
#include "utils/rel.h"
diff --git a/src/backend/access/nbtree/nbtinsert.c b/src/backend/access/nbtree/nbtinsert.c
index aa82cede30a..be60781fc98 100644
--- a/src/backend/access/nbtree/nbtinsert.c
+++ b/src/backend/access/nbtree/nbtinsert.c
@@ -17,6 +17,7 @@
#include "access/nbtree.h"
#include "access/nbtxlog.h"
+#include "access/tableam.h"
#include "access/transam.h"
#include "access/xloginsert.h"
#include "common/int.h"
diff --git a/src/backend/access/nbtree/nbtpreprocesskeys.c b/src/backend/access/nbtree/nbtpreprocesskeys.c
index 21c519cd108..936b93f157a 100644
--- a/src/backend/access/nbtree/nbtpreprocesskeys.c
+++ b/src/backend/access/nbtree/nbtpreprocesskeys.c
@@ -16,11 +16,13 @@
#include "postgres.h"
#include "access/nbtree.h"
+#include "access/relscan.h"
#include "common/int.h"
#include "lib/qunique.h"
#include "utils/array.h"
#include "utils/lsyscache.h"
#include "utils/memutils.h"
+#include "utils/rel.h"
typedef struct BTScanKeyPreproc
{
diff --git a/src/backend/access/nbtree/nbtsort.c b/src/backend/access/nbtree/nbtsort.c
index 9d70e89c1f3..8828a7a8f89 100644
--- a/src/backend/access/nbtree/nbtsort.c
+++ b/src/backend/access/nbtree/nbtsort.c
@@ -44,6 +44,7 @@
#include "access/parallel.h"
#include "access/relscan.h"
#include "access/table.h"
+#include "access/tableam.h"
#include "access/xact.h"
#include "catalog/index.h"
#include "commands/progress.h"
diff --git a/src/backend/access/nbtree/nbtsplitloc.c b/src/backend/access/nbtree/nbtsplitloc.c
index e6c9aaa0454..b88c396195a 100644
--- a/src/backend/access/nbtree/nbtsplitloc.c
+++ b/src/backend/access/nbtree/nbtsplitloc.c
@@ -15,6 +15,7 @@
#include "postgres.h"
#include "access/nbtree.h"
+#include "access/tableam.h"
#include "common/int.h"
typedef enum
diff --git a/src/backend/access/nbtree/nbtutils.c b/src/backend/access/nbtree/nbtutils.c
index 9aed207995f..edfea2acaff 100644
--- a/src/backend/access/nbtree/nbtutils.c
+++ b/src/backend/access/nbtree/nbtutils.c
@@ -19,10 +19,13 @@
#include "access/nbtree.h"
#include "access/reloptions.h"
+#include "access/relscan.h"
#include "commands/progress.h"
#include "miscadmin.h"
#include "utils/datum.h"
#include "utils/lsyscache.h"
+#include "utils/rel.h"
+
#define LOOK_AHEAD_REQUIRED_RECHECKS 3
#define LOOK_AHEAD_DEFAULT_DISTANCE 5
diff --git a/src/backend/utils/sort/tuplesortvariants.c b/src/backend/utils/sort/tuplesortvariants.c
index c5d18e46716..890cdbe1204 100644
--- a/src/backend/utils/sort/tuplesortvariants.c
+++ b/src/backend/utils/sort/tuplesortvariants.c
@@ -31,6 +31,7 @@
#include "utils/datum.h"
#include "utils/guc.h"
#include "utils/lsyscache.h"
+#include "utils/rel.h"
#include "utils/tuplesort.h"
diff --git a/src/include/access/nbtree.h b/src/include/access/nbtree.h
index e709d2e0afe..9ab467cb8fd 100644
--- a/src/include/access/nbtree.h
+++ b/src/include/access/nbtree.h
@@ -17,9 +17,8 @@
#include "access/amapi.h"
#include "access/itup.h"
#include "access/sdir.h"
-#include "access/tableam.h"
-#include "access/xlogreader.h"
#include "catalog/pg_am_d.h"
+#include "catalog/pg_class.h"
#include "catalog/pg_index.h"
#include "lib/stringinfo.h"
#include "storage/bufmgr.h"
@@ -1285,9 +1284,10 @@ extern void _bt_pageinit(Page page, Size size);
extern void _bt_delitems_vacuum(Relation rel, Buffer buf,
OffsetNumber *deletable, int ndeletable,
BTVacuumPosting *updatable, int nupdatable);
+struct TM_IndexDeleteOp; /* avoid including tableam.h here */
extern void _bt_delitems_delete_check(Relation rel, Buffer buf,
Relation heapRel,
- TM_IndexDeleteOp *delstate);
+ struct TM_IndexDeleteOp *delstate);
extern void _bt_pagedel(Relation rel, Buffer leafbuf, BTVacState *vstate);
extern void _bt_pendingfsm_init(Relation rel, BTVacState *vstate,
bool cleanuponly);