00001 /* 00002 * subtrans.h 00003 * 00004 * PostgreSQL subtransaction-log manager 00005 * 00006 * Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group 00007 * Portions Copyright (c) 1994, Regents of the University of California 00008 * 00009 * src/include/access/subtrans.h 00010 */ 00011 #ifndef SUBTRANS_H 00012 #define SUBTRANS_H 00013 00014 /* Number of SLRU buffers to use for subtrans */ 00015 #define NUM_SUBTRANS_BUFFERS 32 00016 00017 extern void SubTransSetParent(TransactionId xid, TransactionId parent, bool overwriteOK); 00018 extern TransactionId SubTransGetParent(TransactionId xid); 00019 extern TransactionId SubTransGetTopmostTransaction(TransactionId xid); 00020 00021 extern Size SUBTRANSShmemSize(void); 00022 extern void SUBTRANSShmemInit(void); 00023 extern void BootStrapSUBTRANS(void); 00024 extern void StartupSUBTRANS(TransactionId oldestActiveXID); 00025 extern void ShutdownSUBTRANS(void); 00026 extern void CheckPointSUBTRANS(void); 00027 extern void ExtendSUBTRANS(TransactionId newestXact); 00028 extern void TruncateSUBTRANS(TransactionId oldestXact); 00029 00030 #endif /* SUBTRANS_H */