PostgreSQL Source Code git master
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
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-2025, 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 */
24typedef struct BrinRevmap BrinRevmap;
25
27 BlockNumber *pagesPerRange);
28extern void brinRevmapTerminate(BrinRevmap *revmap);
29
30extern void brinRevmapExtend(BrinRevmap *revmap,
31 BlockNumber heapBlk);
33 BlockNumber heapBlk);
34extern void brinSetHeapBlockItemptr(Buffer buf, BlockNumber pagesPerRange,
35 BlockNumber heapBlk, ItemPointerData tid);
37 BlockNumber heapBlk, Buffer *buf, OffsetNumber *off,
38 Size *size, int mode);
39extern 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
BrinRevmap * brinRevmapInitialize(Relation idxrel, BlockNumber *pagesPerRange)
Definition: brin_revmap.c:70
BrinTuple * brinGetTupleForHeapBlock(BrinRevmap *revmap, BlockNumber heapBlk, Buffer *buf, OffsetNumber *off, Size *size, int mode)
Definition: brin_revmap.c:194
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:559
uint16 OffsetNumber
Definition: off.h:24
static PgChecksumMode mode
Definition: pg_checksums.c:55
static char * buf
Definition: pg_test_fsync.c:72
static pg_noinline void Size size
Definition: slab.c:607