diff options
author | Alexander Korotkov <akorotkov@postgresql.org> | 2021-09-23 19:59:03 +0300 |
---|---|---|
committer | Alexander Korotkov <akorotkov@postgresql.org> | 2021-09-23 19:59:03 +0300 |
commit | b92f9f74436c48054e7743548edc8ca50e97c6b1 (patch) | |
tree | 2cfa52a5559329cc16f45b252b48f5e1d4871428 /src | |
parent | ad8a166ca86846ab691bd6dafc695e0f7dd96012 (diff) | |
download | postgresql-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.c | 2 | ||||
-rw-r--r-- | src/include/access/visibilitymap.h | 10 | ||||
-rw-r--r-- | src/include/access/visibilitymapdefs.h | 25 | ||||
-rw-r--r-- | src/include/utils/relcache.h | 1 |
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" |