Commit 7186f071 authored by Alexander Korotkov's avatar Alexander Korotkov

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
parent abb2f914
......@@ -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"
......
......@@ -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)
......
/*-------------------------------------------------------------------------
*
* 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 */
......@@ -14,7 +14,6 @@
#ifndef RELCACHE_H
#define RELCACHE_H
#include "postgres.h"
#include "access/tupdesc.h"
#include "nodes/bitmapset.h"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment