PostgreSQL Source Code git master
Loading...
Searching...
No Matches
rewriteheap.h
Go to the documentation of this file.
1/*-------------------------------------------------------------------------
2 *
3 * rewriteheap.h
4 * Declarations for heap rewrite support functions
5 *
6 * Portions Copyright (c) 1996-2026, PostgreSQL Global Development Group
7 * Portions Copyright (c) 1994-5, Regents of the University of California
8 *
9 * src/include/access/rewriteheap.h
10 *
11 *-------------------------------------------------------------------------
12 */
13#ifndef REWRITE_HEAP_H
14#define REWRITE_HEAP_H
15
16#include "access/htup.h"
17#include "storage/itemptr.h"
19#include "utils/relcache.h"
20
21/* struct definition is private to rewriteheap.c */
23
31
32/*
33 * On-Disk data format for an individual logical rewrite mapping.
34 */
42
43/* ---
44 * The filename consists of the following, dash separated,
45 * components:
46 * 1) database oid or InvalidOid for shared relations
47 * 2) the oid of the relation
48 * 3) upper 32bit of the LSN at which a rewrite started
49 * 4) lower 32bit of the LSN at which a rewrite started
50 * 5) xid we are mapping for
51 * 6) xid of the xact performing the mapping
52 * ---
53 */
54#define LOGICAL_REWRITE_FORMAT "map-%x-%x-%X_%X-%x-%x"
55extern void CheckPointLogicalRewriteHeap(void);
56
57#endif /* REWRITE_HEAP_H */
TransactionId MultiXactId
Definition c.h:676
uint32 TransactionId
Definition c.h:666
static int fb(int x)
struct RewriteStateData * RewriteState
Definition rewriteheap.h:22
void end_heap_rewrite(RewriteState state)
bool rewrite_heap_dead_tuple(RewriteState state, HeapTuple old_tuple)
RewriteState begin_heap_rewrite(Relation old_heap, Relation new_heap, TransactionId oldest_xmin, TransactionId freeze_xid, MultiXactId cutoff_multi)
void CheckPointLogicalRewriteHeap(void)
void rewrite_heap_tuple(RewriteState state, HeapTuple old_tuple, HeapTuple new_tuple)
ItemPointerData new_tid
Definition rewriteheap.h:40
RelFileLocator old_locator
Definition rewriteheap.h:37
ItemPointerData old_tid
Definition rewriteheap.h:39
RelFileLocator new_locator
Definition rewriteheap.h:38