aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlexander Korotkov <akorotkov@postgresql.org>2021-09-23 19:59:03 +0300
committerAlexander Korotkov <akorotkov@postgresql.org>2021-09-23 19:59:03 +0300
commitb92f9f74436c48054e7743548edc8ca50e97c6b1 (patch)
tree2cfa52a5559329cc16f45b252b48f5e1d4871428 /src
parentad8a166ca86846ab691bd6dafc695e0f7dd96012 (diff)
downloadpostgresql-b92f9f74436c48054e7743548edc8ca50e97c6b1.tar.gz
postgresql-b92f9f74436c48054e7743548edc8ca50e97c6b1.zip
Split macros from visibilitymap.h into a separate header
That allows to include just visibilitymapdefs.h from file.c, and in turn, remove include of postgres.h from relcache.h. Reported-by: Andres Freund Discussion: https://postgr.es/m/20210913232614.czafiubr435l6egi%40alap3.anarazel.de Author: Alexander Korotkov Reviewed-by: Andres Freund, Tom Lane, Alvaro Herrera Backpatch-through: 13
Diffstat (limited to 'src')
-rw-r--r--src/bin/pg_upgrade/file.c2
-rw-r--r--src/include/access/visibilitymap.h10
-rw-r--r--src/include/access/visibilitymapdefs.h25
-rw-r--r--src/include/utils/relcache.h1
4 files changed, 27 insertions, 11 deletions
diff --git a/src/bin/pg_upgrade/file.c b/src/bin/pg_upgrade/file.c
index 9b0cc16e452..1b34ee09fa6 100644
--- a/src/bin/pg_upgrade/file.c
+++ b/src/bin/pg_upgrade/file.c
@@ -19,7 +19,7 @@
#include <linux/fs.h>
#endif
-#include "access/visibilitymap.h"
+#include "access/visibilitymapdefs.h"
#include "common/file_perm.h"
#include "pg_upgrade.h"
#include "storage/bufpage.h"
diff --git a/src/include/access/visibilitymap.h b/src/include/access/visibilitymap.h
index 57362c36876..0981b218ea0 100644
--- a/src/include/access/visibilitymap.h
+++ b/src/include/access/visibilitymap.h
@@ -14,20 +14,12 @@
#ifndef VISIBILITYMAP_H
#define VISIBILITYMAP_H
+#include "access/visibilitymapdefs.h"
#include "access/xlogdefs.h"
#include "storage/block.h"
#include "storage/buf.h"
#include "utils/relcache.h"
-/* Number of bits for one heap page */
-#define BITS_PER_HEAPBLOCK 2
-
-/* Flags for bit map */
-#define VISIBILITYMAP_ALL_VISIBLE 0x01
-#define VISIBILITYMAP_ALL_FROZEN 0x02
-#define VISIBILITYMAP_VALID_BITS 0x03 /* OR of all valid visibilitymap
- * flags bits */
-
/* Macros for visibilitymap test */
#define VM_ALL_VISIBLE(r, b, v) \
((visibilitymap_get_status((r), (b), (v)) & VISIBILITYMAP_ALL_VISIBLE) != 0)
diff --git a/src/include/access/visibilitymapdefs.h b/src/include/access/visibilitymapdefs.h
new file mode 100644
index 00000000000..58be5a4b61c
--- /dev/null
+++ b/src/include/access/visibilitymapdefs.h
@@ -0,0 +1,25 @@
+/*-------------------------------------------------------------------------
+ *
+ * visibilitymapdefs.h
+ * macros for accessing contents of visibility map pages
+ *
+ *
+ * Copyright (c) 2021, PostgreSQL Global Development Group
+ *
+ * src/include/access/visibilitymapdefs.h
+ *
+ *-------------------------------------------------------------------------
+ */
+#ifndef VISIBILITYMAPDEFS_H
+#define VISIBILITYMAPDEFS_H
+
+/* Number of bits for one heap page */
+#define BITS_PER_HEAPBLOCK 2
+
+/* Flags for bit map */
+#define VISIBILITYMAP_ALL_VISIBLE 0x01
+#define VISIBILITYMAP_ALL_FROZEN 0x02
+#define VISIBILITYMAP_VALID_BITS 0x03 /* OR of all valid visibilitymap
+ * flags bits */
+
+#endif /* VISIBILITYMAPDEFS_H */
diff --git a/src/include/utils/relcache.h b/src/include/utils/relcache.h
index f772855ac69..d2c17575f65 100644
--- a/src/include/utils/relcache.h
+++ b/src/include/utils/relcache.h
@@ -14,7 +14,6 @@
#ifndef RELCACHE_H
#define RELCACHE_H
-#include "postgres.h"
#include "access/tupdesc.h"
#include "nodes/bitmapset.h"