From b58c0411bad414a5dbde8b38f615867c68adf55c Mon Sep 17 00:00:00 2001 From: "Vadim B. Mikheev" Date: Fri, 20 Oct 2000 11:01:21 +0000 Subject: redo/undo support functions and cleanups. --- src/include/access/xact.h | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) (limited to 'src/include/access/xact.h') diff --git a/src/include/access/xact.h b/src/include/access/xact.h index c512a4a66f..712e88b600 100644 --- a/src/include/access/xact.h +++ b/src/include/access/xact.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: xact.h,v 1.27 2000/07/28 01:04:40 tgl Exp $ + * $Id: xact.h,v 1.28 2000/10/20 11:01:14 vadim Exp $ * *------------------------------------------------------------------------- */ @@ -78,6 +78,35 @@ typedef TransactionStateData *TransactionState; (*((TransactionId*) (dest)) = NullTransactionId) +#ifdef XLOG + +/* + * XLOG allows to store some information in high 4 bits of log + * record xl_info field + */ +#define XLOG_XACT_COMMIT 0x00 +#define XLOG_XACT_ABORT 0x20 + +typedef struct xl_xact_commit +{ + time_t xtime; + /* + * Array of RelFileNode-s to drop may follow + * at the end of struct + */ +} xl_xact_commit; + +#define SizeOfXactCommit ((offsetof(xl_xact_commit, xtime) + sizeof(time_t))) + +typedef struct xl_xact_abort +{ + time_t xtime; +} xl_xact_abort; + +#define SizeOfXactAbort ((offsetof(xl_xact_abort, xtime) + sizeof(time_t))) + +#endif + /* ---------------- * extern definitions * ---------------- @@ -108,6 +137,9 @@ extern void AbortOutOfAnyTransaction(void); extern TransactionId DisabledTransactionId; +extern void XactPushRollback(void (*func) (void *), void* data); +extern void XactPopRollback(void); + /* defined in xid.c */ extern Datum xidin(PG_FUNCTION_ARGS); extern Datum xidout(PG_FUNCTION_ARGS); -- cgit v1.2.1