From 87e674d72a4b8fdeabb17a09b49dd53d46e0c247 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=81lvaro=20Herrera?= <alvherre@kurilemu.de>
Date: Thu, 2 Apr 2026 20:07:17 +0200
Subject: [PATCH 3/5] don't include bufmgr.h in gist_private.h

---
 src/backend/access/gist/gist.c     | 1 +
 src/backend/access/gist/gistget.c  | 1 +
 src/backend/access/gist/gistutil.c | 1 +
 src/include/access/gist_private.h  | 6 +++++-
 4 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/backend/access/gist/gist.c b/src/backend/access/gist/gist.c
index 8565e225be7..d03624e2f72 100644
--- a/src/backend/access/gist/gist.c
+++ b/src/backend/access/gist/gist.c
@@ -21,6 +21,7 @@
 #include "commands/vacuum.h"
 #include "miscadmin.h"
 #include "nodes/execnodes.h"
+#include "storage/bufmgr.h"
 #include "storage/predicate.h"
 #include "utils/fmgrprotos.h"
 #include "utils/index_selfuncs.h"
diff --git a/src/backend/access/gist/gistget.c b/src/backend/access/gist/gistget.c
index 4d7c100d737..6dbd0ac7ba8 100644
--- a/src/backend/access/gist/gistget.c
+++ b/src/backend/access/gist/gistget.c
@@ -21,6 +21,7 @@
 #include "lib/pairingheap.h"
 #include "miscadmin.h"
 #include "pgstat.h"
+#include "storage/bufmgr.h"
 #include "storage/predicate.h"
 #include "utils/float.h"
 #include "utils/memutils.h"
diff --git a/src/backend/access/gist/gistutil.c b/src/backend/access/gist/gistutil.c
index 0f58f61879f..8020bd25f5b 100644
--- a/src/backend/access/gist/gistutil.c
+++ b/src/backend/access/gist/gistutil.c
@@ -19,6 +19,7 @@
 #include "access/htup_details.h"
 #include "access/reloptions.h"
 #include "common/pg_prng.h"
+#include "storage/bufmgr.h"
 #include "storage/indexfsm.h"
 #include "utils/float.h"
 #include "utils/fmgrprotos.h"
diff --git a/src/include/access/gist_private.h b/src/include/access/gist_private.h
index 44514f1cb8d..60a470f2986 100644
--- a/src/include/access/gist_private.h
+++ b/src/include/access/gist_private.h
@@ -18,11 +18,15 @@
 #include "access/gist.h"
 #include "access/itup.h"
 #include "lib/pairingheap.h"
-#include "storage/bufmgr.h"
 #include "storage/buffile.h"
 #include "utils/hsearch.h"
 #include "access/genam.h"
 
+/*
+ * forward references in this file
+ */
+typedef int Buffer;
+
 /*
  * Maximum number of "halves" a page can be split into in one operation.
  * Typically a split produces 2 halves, but can be more if keys have very
-- 
2.47.3

