PostgreSQL Source Code  git master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
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-2017, 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, Snapshot snapshot);
28 extern void brinRevmapTerminate(BrinRevmap *revmap);
29 
30 extern void brinRevmapExtend(BrinRevmap *revmap,
31  BlockNumber heapBlk);
33  BlockNumber heapBlk);
34 extern void brinSetHeapBlockItemptr(Buffer rmbuf, BlockNumber pagesPerRange,
35  BlockNumber heapBlk, ItemPointerData tid);
37  BlockNumber heapBlk, Buffer *buf, OffsetNumber *off,
38  Size *size, int mode, Snapshot snapshot);
39 
40 #endif /* BRIN_REVMAP_H */
Buffer brinLockRevmapPageForUpdate(BrinRevmap *revmap, BlockNumber heapBlk)
Definition: brin_revmap.c:137
void brinRevmapTerminate(BrinRevmap *revmap)
Definition: brin_revmap.c:103
uint32 BlockNumber
Definition: block.h:31
uint16 OffsetNumber
Definition: off.h:24
static char * buf
Definition: pg_test_fsync.c:65
BrinTuple * brinGetTupleForHeapBlock(BrinRevmap *revmap, BlockNumber heapBlk, Buffer *buf, OffsetNumber *off, Size *size, int mode, Snapshot snapshot)
Definition: brin_revmap.c:191
void brinRevmapExtend(BrinRevmap *revmap, BlockNumber heapBlk)
Definition: brin_revmap.c:115
void brinSetHeapBlockItemptr(Buffer rmbuf, BlockNumber pagesPerRange, BlockNumber heapBlk, ItemPointerData tid)
Definition: brin_revmap.c:158
size_t Size
Definition: c.h:353
BrinRevmap * brinRevmapInitialize(Relation idxrel, BlockNumber *pagesPerRange, Snapshot snapshot)
Definition: brin_revmap.c:71
int Buffer
Definition: buf.h:23