mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-03-07 19:47:50 +08:00
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
This commit is contained in:
parent
ad8a166ca8
commit
b92f9f7443
@ -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)
|
||||
|
25
src/include/access/visibilitymapdefs.h
Normal file
25
src/include/access/visibilitymapdefs.h
Normal file
@ -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 */
|
@ -14,7 +14,6 @@
|
||||
#ifndef RELCACHE_H
|
||||
#define RELCACHE_H
|
||||
|
||||
#include "postgres.h"
|
||||
#include "access/tupdesc.h"
|
||||
#include "nodes/bitmapset.h"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user