init
This commit is contained in:
57
db_include/access/rewriteheap.h
Executable file
57
db_include/access/rewriteheap.h
Executable file
@@ -0,0 +1,57 @@
|
||||
/*-------------------------------------------------------------------------
|
||||
*
|
||||
* rewriteheap.h
|
||||
* Declarations for heap rewrite support functions
|
||||
*
|
||||
* Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994-5, Regents of the University of California
|
||||
*
|
||||
* src/include/access/rewriteheap.h
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
#ifndef REWRITE_HEAP_H
|
||||
#define REWRITE_HEAP_H
|
||||
|
||||
#include "access/htup.h"
|
||||
#include "storage/itemptr.h"
|
||||
#include "storage/relfilenode.h"
|
||||
#include "utils/relcache.h"
|
||||
|
||||
/* struct definition is private to rewriteheap.c */
|
||||
typedef struct RewriteStateData *RewriteState;
|
||||
|
||||
extern RewriteState begin_heap_rewrite(Relation OldHeap, Relation NewHeap,
|
||||
TransactionId OldestXmin, TransactionId FreezeXid,
|
||||
MultiXactId MultiXactCutoff);
|
||||
extern void end_heap_rewrite(RewriteState state);
|
||||
extern void rewrite_heap_tuple(RewriteState state, HeapTuple oldTuple,
|
||||
HeapTuple newTuple);
|
||||
extern bool rewrite_heap_dead_tuple(RewriteState state, HeapTuple oldTuple);
|
||||
|
||||
/*
|
||||
* On-Disk data format for an individual logical rewrite mapping.
|
||||
*/
|
||||
typedef struct LogicalRewriteMappingData
|
||||
{
|
||||
RelFileNode old_node;
|
||||
RelFileNode new_node;
|
||||
ItemPointerData old_tid;
|
||||
ItemPointerData new_tid;
|
||||
} LogicalRewriteMappingData;
|
||||
|
||||
/* ---
|
||||
* The filename consists of the following, dash separated,
|
||||
* components:
|
||||
* 1) database oid or InvalidOid for shared relations
|
||||
* 2) the oid of the relation
|
||||
* 3) upper 32bit of the LSN at which a rewrite started
|
||||
* 4) lower 32bit of the LSN at which a rewrite started
|
||||
* 5) xid we are mapping for
|
||||
* 6) xid of the xact performing the mapping
|
||||
* ---
|
||||
*/
|
||||
#define LOGICAL_REWRITE_FORMAT "map-%x-%x-%X_%X-%x-%x"
|
||||
void CheckPointLogicalRewriteHeap(void);
|
||||
|
||||
#endif /* REWRITE_HEAP_H */
|
||||
Reference in New Issue
Block a user