/* * subtrans.h * * PostgreSQL subtrans-log manager * * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * $PostgreSQL$ */ #ifndef SUBTRANS_H #define SUBTRANS_H #include "access/xlog.h" /* exported because lwlock.c needs it */ #define NUM_SUBTRANS_BUFFERS 8 extern void SubTransSetParent(TransactionId xid, TransactionId parent); extern TransactionId SubTransGetParent(TransactionId xid); extern int SubTransShmemSize(void); extern void SubTransShmemInit(void); extern void BootStrapSubTrans(void); extern void StartupSubTrans(void); extern void ShutdownSubTrans(void); extern void CheckPointSubTrans(void); extern void ExtendSubTrans(TransactionId newestXact); extern void TruncateSubTrans(TransactionId oldestXact); /* XLOG stuff */ #define SUBTRANS_ZEROPAGE 0x00 extern void subtrans_redo(XLogRecPtr lsn, XLogRecord *record); extern void subtrans_undo(XLogRecPtr lsn, XLogRecord *record); extern void subtrans_desc(char *buf, uint8 xl_info, char *rec); #endif /* SUBTRANS_H */