summaryrefslogtreecommitdiff
path: root/src/include/access/clog.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/access/clog.h')
-rw-r--r--src/include/access/clog.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/include/access/clog.h b/src/include/access/clog.h
new file mode 100644
index 00000000000..4e44e8036cf
--- /dev/null
+++ b/src/include/access/clog.h
@@ -0,0 +1,47 @@
+/*
+ * clog.h
+ *
+ * PostgreSQL transaction-commit-log manager
+ *
+ * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
+ * Portions Copyright (c) 1994, Regents of the University of California
+ *
+ * $Id: clog.h,v 1.1 2001/08/25 18:52:42 tgl Exp $
+ */
+#ifndef CLOG_H
+#define CLOG_H
+
+#include "access/xlog.h"
+
+/*
+ * Possible transaction statuses --- note that all-zeroes is the initial
+ * state.
+ */
+typedef int XidStatus;
+
+#define TRANSACTION_STATUS_IN_PROGRESS 0x00
+#define TRANSACTION_STATUS_COMMITTED 0x01
+#define TRANSACTION_STATUS_ABORTED 0x02
+/* 0x03 is available without changing commit log space allocation */
+
+
+extern void TransactionIdSetStatus(TransactionId xid, XidStatus status);
+extern XidStatus TransactionIdGetStatus(TransactionId xid);
+
+extern int CLOGShmemSize(void);
+extern void CLOGShmemInit(void);
+extern void BootStrapCLOG(void);
+extern void StartupCLOG(void);
+extern void ShutdownCLOG(void);
+extern void CheckPointCLOG(void);
+extern void ExtendCLOG(TransactionId newestXact);
+extern void TruncateCLOG(TransactionId oldestXact);
+
+/* XLOG stuff */
+#define CLOG_ZEROPAGE 0x00
+
+extern void clog_redo(XLogRecPtr lsn, XLogRecord *record);
+extern void clog_undo(XLogRecPtr lsn, XLogRecord *record);
+extern void clog_desc(char *buf, uint8 xl_info, char *rec);
+
+#endif /* CLOG_H */