YugabyteDB (2.13.1.0-b60, 21121d69985fbf76aa6958d8f04a9bfa936293b5)

Coverage Report

Created: 2022-03-22 16:43

/Users/deen/code/yugabyte-db/src/postgres/src/include/access/rewriteheap.h
Line
Count
Source (jump to first uncovered line)
1
/*-------------------------------------------------------------------------
2
 *
3
 * rewriteheap.h
4
 *    Declarations for heap rewrite support functions
5
 *
6
 * Portions Copyright (c) 1996-2018, 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"
18
#include "storage/relfilenode.h"
19
#include "utils/relcache.h"
20
21
/* struct definition is private to rewriteheap.c */
22
typedef struct RewriteStateData *RewriteState;
23
24
extern RewriteState begin_heap_rewrite(Relation OldHeap, Relation NewHeap,
25
           TransactionId OldestXmin, TransactionId FreezeXid,
26
           MultiXactId MultiXactCutoff, bool use_wal);
27
extern void end_heap_rewrite(RewriteState state);
28
extern void rewrite_heap_tuple(RewriteState state, HeapTuple oldTuple,
29
           HeapTuple newTuple);
30
extern bool rewrite_heap_dead_tuple(RewriteState state, HeapTuple oldTuple);
31
32
/*
33
 * On-Disk data format for an individual logical rewrite mapping.
34
 */
35
typedef struct LogicalRewriteMappingData
36
{
37
  RelFileNode old_node;
38
  RelFileNode new_node;
39
  ItemPointerData old_tid;
40
  ItemPointerData new_tid;
41
} LogicalRewriteMappingData;
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) xid we are mapping for
49
 * 4) upper 32bit of the LSN at which a rewrite started
50
 * 5) lower 32bit of the LSN at which a rewrite started
51
 * 6) xid of the xact performing the mapping
52
 * ---
53
 */
54
0
#define LOGICAL_REWRITE_FORMAT "map-%x-%x-%X_%X-%x-%x"
55
void    CheckPointLogicalRewriteHeap(void);
56
57
#endif              /* REWRITE_HEAP_H */