Header And Logo

PostgreSQL
| The world's most advanced open source database.

rewriteheap.h

Go to the documentation of this file.
00001 /*-------------------------------------------------------------------------
00002  *
00003  * rewriteheap.h
00004  *    Declarations for heap rewrite support functions
00005  *
00006  * Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group
00007  * Portions Copyright (c) 1994-5, Regents of the University of California
00008  *
00009  * src/include/access/rewriteheap.h
00010  *
00011  *-------------------------------------------------------------------------
00012  */
00013 #ifndef REWRITE_HEAP_H
00014 #define REWRITE_HEAP_H
00015 
00016 #include "access/htup.h"
00017 #include "utils/relcache.h"
00018 
00019 /* struct definition is private to rewriteheap.c */
00020 typedef struct RewriteStateData *RewriteState;
00021 
00022 extern RewriteState begin_heap_rewrite(Relation NewHeap,
00023                    TransactionId OldestXmin, TransactionId FreezeXid,
00024                    MultiXactId MultiXactFrzLimit, bool use_wal);
00025 extern void end_heap_rewrite(RewriteState state);
00026 extern void rewrite_heap_tuple(RewriteState state, HeapTuple oldTuple,
00027                    HeapTuple newTuple);
00028 extern bool rewrite_heap_dead_tuple(RewriteState state, HeapTuple oldTuple);
00029 
00030 #endif   /* REWRITE_HEAP_H */