PostgreSQL Source Code  git master
brin_page.h File Reference
#include "storage/block.h"
#include "storage/itemptr.h"
Include dependency graph for brin_page.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  BrinSpecialSpace
 
struct  BrinMetaPageData
 
struct  RevmapContents
 

Macros

#define BrinPageType(page)
 
#define BrinPageFlags(page)
 
#define BRIN_PAGETYPE_META   0xF091
 
#define BRIN_PAGETYPE_REVMAP   0xF092
 
#define BRIN_PAGETYPE_REGULAR   0xF093
 
#define BRIN_IS_META_PAGE(page)   (BrinPageType(page) == BRIN_PAGETYPE_META)
 
#define BRIN_IS_REVMAP_PAGE(page)   (BrinPageType(page) == BRIN_PAGETYPE_REVMAP)
 
#define BRIN_IS_REGULAR_PAGE(page)   (BrinPageType(page) == BRIN_PAGETYPE_REGULAR)
 
#define BRIN_EVACUATE_PAGE   (1 << 0)
 
#define BRIN_CURRENT_VERSION   1
 
#define BRIN_META_MAGIC   0xA8109CFA
 
#define BRIN_METAPAGE_BLKNO   0
 
#define REVMAP_CONTENT_SIZE
 
#define REVMAP_PAGE_MAXITEMS    (REVMAP_CONTENT_SIZE / sizeof(ItemPointerData))
 

Typedefs

typedef struct BrinSpecialSpace BrinSpecialSpace
 
typedef struct BrinMetaPageData BrinMetaPageData
 
typedef struct RevmapContents RevmapContents
 

Macro Definition Documentation

◆ BRIN_CURRENT_VERSION

#define BRIN_CURRENT_VERSION   1

Definition at line 72 of file brin_page.h.

◆ BRIN_EVACUATE_PAGE

#define BRIN_EVACUATE_PAGE   (1 << 0)

Definition at line 60 of file brin_page.h.

◆ BRIN_IS_META_PAGE

#define BRIN_IS_META_PAGE (   page)    (BrinPageType(page) == BRIN_PAGETYPE_META)

Definition at line 55 of file brin_page.h.

◆ BRIN_IS_REGULAR_PAGE

#define BRIN_IS_REGULAR_PAGE (   page)    (BrinPageType(page) == BRIN_PAGETYPE_REGULAR)

Definition at line 57 of file brin_page.h.

◆ BRIN_IS_REVMAP_PAGE

#define BRIN_IS_REVMAP_PAGE (   page)    (BrinPageType(page) == BRIN_PAGETYPE_REVMAP)

Definition at line 56 of file brin_page.h.

◆ BRIN_META_MAGIC

#define BRIN_META_MAGIC   0xA8109CFA

Definition at line 73 of file brin_page.h.

◆ BRIN_METAPAGE_BLKNO

#define BRIN_METAPAGE_BLKNO   0

Definition at line 75 of file brin_page.h.

◆ BRIN_PAGETYPE_META

#define BRIN_PAGETYPE_META   0xF091

Definition at line 51 of file brin_page.h.

◆ BRIN_PAGETYPE_REGULAR

#define BRIN_PAGETYPE_REGULAR   0xF093

Definition at line 53 of file brin_page.h.

◆ BRIN_PAGETYPE_REVMAP

#define BRIN_PAGETYPE_REVMAP   0xF092

Definition at line 52 of file brin_page.h.

◆ BrinPageFlags

#define BrinPageFlags (   page)
Value:
PageGetSpecialPointer(page))->vector[MAXALIGN(1) / sizeof(uint16) - 2])
static char * PageGetSpecialPointer(Page page)
Definition: bufpage.h:339
#define MAXALIGN(LEN)
Definition: c.h:765
uint16_t uint16
Definition: c.h:484

Definition at line 46 of file brin_page.h.

◆ BrinPageType

#define BrinPageType (   page)
Value:
PageGetSpecialPointer(page))->vector[MAXALIGN(1) / sizeof(uint16) - 1])

Definition at line 42 of file brin_page.h.

◆ REVMAP_CONTENT_SIZE

#define REVMAP_CONTENT_SIZE
Value:
offsetof(RevmapContents, rm_tids) - \
MAXALIGN(sizeof(BrinSpecialSpace)))
#define SizeOfPageHeaderData
Definition: bufpage.h:216

Definition at line 88 of file brin_page.h.

◆ REVMAP_PAGE_MAXITEMS

#define REVMAP_PAGE_MAXITEMS    (REVMAP_CONTENT_SIZE / sizeof(ItemPointerData))

Definition at line 93 of file brin_page.h.

Typedef Documentation

◆ BrinMetaPageData

◆ BrinSpecialSpace

◆ RevmapContents