PostgreSQL Source Code  git master
brin_revmap.h
Go to the documentation of this file.
1 /*
2  * brin_revmap.h
3  * Prototypes for BRIN reverse range maps
4  *
5  * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
6  * Portions Copyright (c) 1994, Regents of the University of California
7  *
8  * IDENTIFICATION
9  * src/include/access/brin_revmap.h
10  */
11 
12 #ifndef BRIN_REVMAP_H
13 #define BRIN_REVMAP_H
14 
15 #include "access/brin_tuple.h"
16 #include "storage/block.h"
17 #include "storage/buf.h"
18 #include "storage/itemptr.h"
19 #include "storage/off.h"
20 #include "utils/relcache.h"
21 #include "utils/snapshot.h"
22 
23 /* struct definition lives in brin_revmap.c */
24 typedef struct BrinRevmap BrinRevmap;
25 
27  BlockNumber *pagesPerRange);
28 extern void brinRevmapTerminate(BrinRevmap *revmap);
29 
30 extern void brinRevmapExtend(BrinRevmap *revmap,
31  BlockNumber heapBlk);
33  BlockNumber heapBlk);
34 extern void brinSetHeapBlockItemptr(Buffer buf, BlockNumber pagesPerRange,
35  BlockNumber heapBlk, ItemPointerData tid);
37  BlockNumber heapBlk, Buffer *buf, OffsetNumber *off,
38  Size *size, int mode);
39 extern bool brinRevmapDesummarizeRange(Relation idxrel, BlockNumber heapBlk);
40 
41 #endif /* BRIN_REVMAP_H */
uint32 BlockNumber
Definition: block.h:31
bool brinRevmapDesummarizeRange(Relation idxrel, BlockNumber heapBlk)
Definition: brin_revmap.c:323
void brinRevmapTerminate(BrinRevmap *revmap)
Definition: brin_revmap.c:100
void brinRevmapExtend(BrinRevmap *revmap, BlockNumber heapBlk)
Definition: brin_revmap.c:112
BrinTuple * brinGetTupleForHeapBlock(BrinRevmap *revmap, BlockNumber heapBlk, Buffer *buf, OffsetNumber *off, Size *size, int mode)
Definition: brin_revmap.c:194
BrinRevmap * brinRevmapInitialize(Relation idxrel, BlockNumber *pagesPerRange)
Definition: brin_revmap.c:70
void brinSetHeapBlockItemptr(Buffer buf, BlockNumber pagesPerRange, BlockNumber heapBlk, ItemPointerData tid)
Definition: brin_revmap.c:155
Buffer brinLockRevmapPageForUpdate(BrinRevmap *revmap, BlockNumber heapBlk)
Definition: brin_revmap.c:134
int Buffer
Definition: buf.h:23
size_t Size
Definition: c.h:592
uint16 OffsetNumber
Definition: off.h:24
static PgChecksumMode mode
Definition: pg_checksums.c:56
static char * buf
Definition: pg_test_fsync.c:73
static pg_noinline void Size size
Definition: slab.c:607