postgres.git / summary / log / commit / refs
commit 3bf31dd24314ceea078f1ae9549c1a60c8a186d8
Author: Álvaro Herrera <alvherre@kurilemu.de>
Date: Tue Sep 30 10:28:29 2025 +0000
Do a tiny bit of header file maintenance
Stop including utils/relcache.h in access/genam.h, and stop including
htup_details.h in nodes/tidbitmap.h. Both these files (genam.h and
tidbitmap.h) are widely used in other header files, so it's in our best
interest that they remain as lean as reasonable.
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://postgr.es/m/202509291356.o5t6ny2hoa3q@alvherre.pgsql
contrib/btree_gist/btree_bit.c | 1 +
src/backend/nodes/tidbitmap.c | 1 +
src/backend/utils/adt/network_spgist.c | 1 +
src/include/access/amapi.h | 2 ++
src/include/access/genam.h | 4 +++-
src/include/access/nbtree.h | 1 +
src/include/nodes/tidbitmap.h | 1 -
7 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/contrib/btree_gist/btree_bit.c b/contrib/btree_gist/btree_bit.c
index 0df2ae20d8b..9199f886097 100644
--- a/contrib/btree_gist/btree_bit.c
+++ b/contrib/btree_gist/btree_bit.c
@@ -8,6 +8,7 @@
#include "utils/fmgrprotos.h"
#include "utils/sortsupport.h"
#include "utils/varbit.h"
+#include "varatt.h"
/* GiST support functions */
PG_FUNCTION_INFO_V1(gbt_bit_compress);
diff --git a/src/backend/nodes/tidbitmap.c b/src/backend/nodes/tidbitmap.c
index 41031aa8f2f..fac2ba5d0ca 100644
--- a/src/backend/nodes/tidbitmap.c
+++ b/src/backend/nodes/tidbitmap.c
@@ -40,6 +40,7 @@
#include <limits.h>
+#include "access/htup_details.h"
#include "common/hashfn.h"
#include "common/int.h"
#include "nodes/bitmapset.h"
diff --git a/src/backend/utils/adt/network_spgist.c b/src/backend/utils/adt/network_spgist.c
index 602276a35c3..a84747d9275 100644
--- a/src/backend/utils/adt/network_spgist.c
+++ b/src/backend/utils/adt/network_spgist.c
@@ -37,6 +37,7 @@
#include "catalog/pg_type.h"
#include "utils/fmgrprotos.h"
#include "utils/inet.h"
+#include "varatt.h"
static int inet_spg_node_number(const inet *val, int commonbits);
diff --git a/src/include/access/amapi.h b/src/include/access/amapi.h
index 2b4482dc1e6..63dd41c1f21 100644
--- a/src/include/access/amapi.h
+++ b/src/include/access/amapi.h
@@ -15,6 +15,8 @@
#include "access/cmptype.h"
#include "access/genam.h"
#include "access/stratnum.h"
+#include "nodes/nodes.h"
+#include "nodes/pg_list.h"
/*
* We don't wish to include planner header files here, since most of an index
diff --git a/src/include/access/genam.h b/src/include/access/genam.h
index ac62f6a6abd..9200a22bd9f 100644
--- a/src/include/access/genam.h
+++ b/src/include/access/genam.h
@@ -20,13 +20,15 @@
#include "nodes/tidbitmap.h"
#include "storage/buf.h"
#include "storage/lockdefs.h"
-#include "utils/relcache.h"
#include "utils/snapshot.h"
/* We don't want this file to depend on execnodes.h. */
typedef struct IndexInfo IndexInfo;
typedef struct TupleTableSlot TupleTableSlot;
+/* or relcache.h */
+typedef struct RelationData *Relation;
+
/*
* Struct for statistics maintained by amgettuple and amgetbitmap
diff --git a/src/include/access/nbtree.h b/src/include/access/nbtree.h
index 9ab467cb8fd..db1345f54c8 100644
--- a/src/include/access/nbtree.h
+++ b/src/include/access/nbtree.h
@@ -22,6 +22,7 @@
#include "catalog/pg_index.h"
#include "lib/stringinfo.h"
#include "storage/bufmgr.h"
+#include "storage/dsm.h"
#include "storage/shm_toc.h"
#include "utils/skipsupport.h"
diff --git a/src/include/nodes/tidbitmap.h b/src/include/nodes/tidbitmap.h
index 99f795ceab5..f54e61c7190 100644
--- a/src/include/nodes/tidbitmap.h
+++ b/src/include/nodes/tidbitmap.h
@@ -22,7 +22,6 @@
#ifndef TIDBITMAP_H
#define TIDBITMAP_H
-#include "access/htup_details.h"
#include "storage/itemptr.h"
#include "utils/dsa.h"
[parent: bb68cde4136b]