]> granicus.if.org Git - postgresql/blobdiff - src/include/access/transam.h
Update copyright to 2004.
[postgresql] / src / include / access / transam.h
index f0d213361ac73a8689c6fd7149262e02a14ab1a8..f8fe6732a42476511b8c03ea05e61fddc6a1779f 100644 (file)
@@ -4,18 +4,16 @@
  *       postgres transaction access method support code
  *
  *
- * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
+ * Portions Copyright (c) 1996-2004, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $Id: transam.h,v 1.39 2001/08/25 18:52:42 tgl Exp $
+ * $PostgreSQL: pgsql/src/include/access/transam.h,v 1.50 2004/08/29 04:13:03 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
 #ifndef TRANSAM_H
 #define TRANSAM_H
 
-#include "storage/spin.h"
-
 
 /* ----------------
  *             Special transaction ID values
@@ -31,6 +29,7 @@
 #define BootstrapTransactionId         ((TransactionId) 1)
 #define FrozenTransactionId                    ((TransactionId) 2)
 #define FirstNormalTransactionId       ((TransactionId) 3)
+#define MaxTransactionId                       ((TransactionId) 0xFFFFFFFF)
 
 /* ----------------
  *             transaction ID manipulation macros
  */
 #define TransactionIdIsValid(xid)              ((xid) != InvalidTransactionId)
 #define TransactionIdIsNormal(xid)             ((xid) >= FirstNormalTransactionId)
-#define TransactionIdEquals(id1, id2)                  ((id1) == (id2))
-#define TransactionIdPrecedes(id1, id2)                        ((id1) < (id2))
-#define TransactionIdPrecedesOrEquals(id1, id2)        ((id1) <= (id2))
-#define TransactionIdFollows(id1, id2)                 ((id1) > (id2))
-#define TransactionIdFollowsOrEquals(id1, id2) ((id1) >= (id2))
+#define TransactionIdEquals(id1, id2)  ((id1) == (id2))
 #define TransactionIdStore(xid, dest)  (*(dest) = (xid))
-#define StoreInvalidTransactionId(dest)        (*(dest) = InvalidTransactionId)
+#define StoreInvalidTransactionId(dest) (*(dest) = InvalidTransactionId)
 /* advance a transaction ID variable, handling wraparound correctly */
 #define TransactionIdAdvance(dest)     \
        do { \
@@ -63,7 +58,7 @@
  *             OIDS 10000-16383 are reserved for assignment by genbki.sh.
  *
  *             OIDs beginning at 16384 are assigned at runtime from the OID
- *             generator.  (The first few of these will be assigned during initdb,
+ *             generator.      (The first few of these will be assigned during initdb,
  *             to objects created after the initial BKI script processing.)
  *
  * The choices of 10000 and 16384 are completely arbitrary, and can be moved
@@ -97,6 +92,13 @@ typedef VariableCacheData *VariableCache;
  * ----------------
  */
 
+/* in transam/transam.c */
+extern bool AMI_OVERRIDE;
+
+/* in transam/varsup.c */
+extern VariableCache ShmemVariableCache;
+
+
 /*
  * prototypes for functions in transam/transam.c
  */
@@ -105,24 +107,18 @@ extern bool TransactionIdDidCommit(TransactionId transactionId);
 extern bool TransactionIdDidAbort(TransactionId transactionId);
 extern void TransactionIdCommit(TransactionId transactionId);
 extern void TransactionIdAbort(TransactionId transactionId);
+extern void TransactionIdSubCommit(TransactionId transactionId);
+extern void TransactionIdCommitTree(int nxids, TransactionId *xids);
+extern void TransactionIdAbortTree(int nxids, TransactionId *xids);
+extern bool TransactionIdPrecedes(TransactionId id1, TransactionId id2);
+extern bool TransactionIdPrecedesOrEquals(TransactionId id1, TransactionId id2);
+extern bool TransactionIdFollows(TransactionId id1, TransactionId id2);
+extern bool TransactionIdFollowsOrEquals(TransactionId id1, TransactionId id2);
 
 /* in transam/varsup.c */
-extern TransactionId GetNewTransactionId(void);
+extern TransactionId GetNewTransactionId(bool isSubXact);
 extern TransactionId ReadNewTransactionId(void);
 extern Oid     GetNewObjectId(void);
 extern void CheckMaxObjectId(Oid assigned_oid);
 
-/* ----------------
- *             global variable extern declarations
- * ----------------
- */
-
-/* in xact.c */
-extern bool AMI_OVERRIDE;
-
-/* in varsup.c */
-extern SPINLOCK OidGenLockId;
-extern SPINLOCK XidGenLockId;
-extern VariableCache ShmemVariableCache;
-
-#endif  /* TRAMSAM_H */
+#endif   /* TRAMSAM_H */