diff --git a/src/backend/access/transam/transam.c b/src/backend/access/transam/transam.c
index ec429c194b26b10505babebc6eddb867caa046cf..642890579261bab492869afa82b2eeab73c26808 100644
--- a/src/backend/access/transam/transam.c
+++ b/src/backend/access/transam/transam.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/access/transam/transam.c,v 1.40 2001/03/13 01:17:05 tgl Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/access/transam/transam.c,v 1.41 2001/03/18 20:18:59 tgl Exp $
  *
  * NOTES
  *	  This file contains the high level access-method interface to the
@@ -430,7 +430,6 @@ InitializeTransactionLog(void)
 		Assert(!IsUnderPostmaster && 
 				ShmemVariableCache->nextXid <= FirstTransactionId);
 		ShmemVariableCache->nextXid = FirstTransactionId;
-		ShmemVariableCache->xidCount = 0; /* force an XLOG rec right away */
 	}
 	else if (RecoveryCheckingEnabled())
 	{
diff --git a/src/backend/access/transam/varsup.c b/src/backend/access/transam/varsup.c
index e4271f5fa86349f405d6b1f870ace0adecacab20..d6097b2567c2e8061528e72534ee3a026ce99f69 100644
--- a/src/backend/access/transam/varsup.c
+++ b/src/backend/access/transam/varsup.c
@@ -6,7 +6,7 @@
  * Copyright (c) 2000, PostgreSQL Global Development Group
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/access/transam/varsup.c,v 1.36 2001/03/13 01:17:05 tgl Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/access/transam/varsup.c,v 1.37 2001/03/18 20:18:59 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -44,17 +44,9 @@ GetNewTransactionId(TransactionId *xid)
 
 	SpinAcquire(XidGenLockId);
 
-	/* If we run out of logged for use xids then we must log more */
-	if (ShmemVariableCache->xidCount == 0)
-	{
-		XLogPutNextXid(ShmemVariableCache->nextXid + VAR_XID_PREFETCH);
-		ShmemVariableCache->xidCount = VAR_XID_PREFETCH;
-	}
-
 	*xid = ShmemVariableCache->nextXid;
 
 	(ShmemVariableCache->nextXid)++;
-	(ShmemVariableCache->xidCount)--;
 
 	SpinRelease(XidGenLockId);
 
diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
index 9a841a4e3a0127a41ea75e17b0ec7fe7305de050..9994025dd69dd45b215e93200ab0bf2a487f61d3 100644
--- a/src/backend/access/transam/xlog.c
+++ b/src/backend/access/transam/xlog.c
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $Header: /cvsroot/pgsql/src/backend/access/transam/xlog.c,v 1.61 2001/03/18 00:30:27 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/transam/xlog.c,v 1.62 2001/03/18 20:18:59 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -2161,7 +2161,6 @@ BootStrapXLOG(void)
 	checkPoint.time = time(NULL);
 
 	ShmemVariableCache->nextXid = checkPoint.nextXid;
-	ShmemVariableCache->xidCount = 0;
 	ShmemVariableCache->nextOid = checkPoint.nextOid;
 	ShmemVariableCache->oidCount = 0;
 
@@ -2317,7 +2316,6 @@ StartupXLOG(void)
 		elog(STOP, "Invalid NextTransactionId/NextOid");
 
 	ShmemVariableCache->nextXid = checkPoint.nextXid;
-	ShmemVariableCache->xidCount = 0;
 	ShmemVariableCache->nextOid = checkPoint.nextOid;
 	ShmemVariableCache->oidCount = 0;
 
@@ -2368,11 +2366,7 @@ StartupXLOG(void)
 			do
 			{
 				if (record->xl_xid >= ShmemVariableCache->nextXid)
-				{
-					/* This probably shouldn't happen... */
 					ShmemVariableCache->nextXid = record->xl_xid + 1;
-					ShmemVariableCache->xidCount = 0;
-				}
 				if (XLOG_DEBUG)
 				{
 					char	buf[8192];
@@ -2717,8 +2711,6 @@ CreateCheckPoint(bool shutdown)
 
 	SpinAcquire(XidGenLockId);
 	checkPoint.nextXid = ShmemVariableCache->nextXid;
-	if (!shutdown)
-		checkPoint.nextXid += ShmemVariableCache->xidCount;
 	SpinRelease(XidGenLockId);
 
 	SpinAcquire(OidGenLockId);
@@ -2803,21 +2795,6 @@ CreateCheckPoint(bool shutdown)
 	END_CRIT_SECTION();
 }
 
-/*
- * Write a NEXTXID log record
- */
-void
-XLogPutNextXid(TransactionId nextXid)
-{
-	XLogRecData		rdata;
-
-	rdata.buffer = InvalidBuffer;
-	rdata.data = (char *)(&nextXid);
-	rdata.len = sizeof(TransactionId);
-	rdata.next = NULL;
-	(void) XLogInsert(RM_XLOG_ID, XLOG_NEXTXID, &rdata);
-}
-
 /*
  * Write a NEXTOID log record
  */
@@ -2841,18 +2818,7 @@ xlog_redo(XLogRecPtr lsn, XLogRecord *record)
 {
 	uint8	info = record->xl_info & ~XLR_INFO_MASK;
 
-	if (info == XLOG_NEXTXID)
-	{
-		TransactionId		nextXid;
-
-		memcpy(&nextXid, XLogRecGetData(record), sizeof(TransactionId));
-		if (ShmemVariableCache->nextXid < nextXid)
-		{
-			ShmemVariableCache->nextXid = nextXid;
-			ShmemVariableCache->xidCount = 0;
-		}
-	}
-	else if (info == XLOG_NEXTOID)
+	if (info == XLOG_NEXTOID)
 	{
 		Oid		nextOid;
 
@@ -2870,7 +2836,6 @@ xlog_redo(XLogRecPtr lsn, XLogRecord *record)
 		memcpy(&checkPoint, XLogRecGetData(record), sizeof(CheckPoint));
 		/* In a SHUTDOWN checkpoint, believe the counters exactly */
 		ShmemVariableCache->nextXid = checkPoint.nextXid;
-		ShmemVariableCache->xidCount = 0;
 		ShmemVariableCache->nextOid = checkPoint.nextOid;
 		ShmemVariableCache->oidCount = 0;
 	}
@@ -2879,11 +2844,10 @@ xlog_redo(XLogRecPtr lsn, XLogRecord *record)
 		CheckPoint	checkPoint;
 
 		memcpy(&checkPoint, XLogRecGetData(record), sizeof(CheckPoint));
-		/* In an ONLINE checkpoint, treat the counters like NEXTXID/NEXTOID */
+		/* In an ONLINE checkpoint, treat the counters like NEXTOID */
 		if (ShmemVariableCache->nextXid < checkPoint.nextXid)
 		{
 			ShmemVariableCache->nextXid = checkPoint.nextXid;
-			ShmemVariableCache->xidCount = 0;
 		}
 		if (ShmemVariableCache->nextOid < checkPoint.nextOid)
 		{
@@ -2915,13 +2879,6 @@ xlog_desc(char *buf, uint8 xl_info, char* rec)
 			checkpoint->nextOid,
 			(info == XLOG_CHECKPOINT_SHUTDOWN) ? "shutdown" : "online");
 	}
-	else if (info == XLOG_NEXTXID)
-	{
-		TransactionId		nextXid;
-
-		memcpy(&nextXid, rec, sizeof(TransactionId));
-		sprintf(buf + strlen(buf), "nextXid: %u", nextXid);
-	}
 	else if (info == XLOG_NEXTOID)
 	{
 		Oid		nextOid;
diff --git a/src/backend/storage/ipc/sinval.c b/src/backend/storage/ipc/sinval.c
index 44b8d1162556511d692c3a5906ebf8497d2ad327..fb37e428cb7f3392bd73fd1dc8415743dc0f6600 100644
--- a/src/backend/storage/ipc/sinval.c
+++ b/src/backend/storage/ipc/sinval.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/storage/ipc/sinval.c,v 1.26 2001/02/26 00:50:07 tgl Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/storage/ipc/sinval.c,v 1.27 2001/03/18 20:18:59 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -296,7 +296,7 @@ GetSnapshotData(bool serializable)
 	/*
 	 * Unfortunately, we have to call ReadNewTransactionId() after
 	 * acquiring SInvalLock above. It's not good because
-	 * ReadNewTransactionId() does SpinAcquire(OidGenLockId) but
+	 * ReadNewTransactionId() does SpinAcquire(XidGenLockId) but
 	 * _necessary_.
 	 */
 	ReadNewTransactionId(&(snapshot->xmax));
diff --git a/src/include/access/transam.h b/src/include/access/transam.h
index 460de699886281e4580445a611d47d9ad4eb787a..9007c24e8995bd51b76737434372ac8299dfa4a1 100644
--- a/src/include/access/transam.h
+++ b/src/include/access/transam.h
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $Id: transam.h,v 1.30 2001/03/13 01:17:06 tgl Exp $
+ * $Id: transam.h,v 1.31 2001/03/18 20:18:59 tgl Exp $
  *
  *	 NOTES
  *		Transaction System Version 101 now support proper oid
@@ -129,9 +129,8 @@ typedef VariableRelationContentsData *VariableRelationContents;
 typedef struct VariableCacheData
 {
 	TransactionId	nextXid;	/* next XID to assign */
-	uint32			xidCount;	/* XIDs available before must do XLOG work */
-	Oid				nextOid;	/* and similarly for OIDs */
-	uint32			oidCount;
+	Oid				nextOid;	/* next OID to assign */
+	uint32			oidCount;	/* OIDs available before must do XLOG work */
 } VariableCacheData;
 
 typedef VariableCacheData *VariableCache;
diff --git a/src/include/access/xlog.h b/src/include/access/xlog.h
index d2dfb2e31c6cd25763a5efdf2dac272883961df8..b1808dfc26fb712c8cf3d92b583675af515b7c17 100644
--- a/src/include/access/xlog.h
+++ b/src/include/access/xlog.h
@@ -6,7 +6,7 @@
  * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $Id: xlog.h,v 1.21 2001/03/16 05:44:33 tgl Exp $
+ * $Id: xlog.h,v 1.22 2001/03/18 20:18:59 tgl Exp $
  */
 #ifndef XLOG_H
 #define XLOG_H
@@ -201,7 +201,6 @@ extern void StartupXLOG(void);
 extern void ShutdownXLOG(void);
 extern void CreateCheckPoint(bool shutdown);
 extern void SetThisStartUpID(void);
-extern void XLogPutNextXid(TransactionId nextXid);
 extern void XLogPutNextOid(Oid nextOid);
 extern void SetRedoRecPtr(void);
 extern void GetRedoRecPtr(void);
diff --git a/src/include/catalog/pg_control.h b/src/include/catalog/pg_control.h
index 97d0e13e78343330a7af05457ddb01705ec391bb..4dcb120469bcb14ecb31eab88d25f10e26f77913 100644
--- a/src/include/catalog/pg_control.h
+++ b/src/include/catalog/pg_control.h
@@ -8,7 +8,7 @@
  * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $Id: pg_control.h,v 1.1 2001/03/13 01:17:06 tgl Exp $
+ * $Id: pg_control.h,v 1.2 2001/03/18 20:18:59 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -45,7 +45,6 @@ typedef struct CheckPoint
 /* XLOG info values for XLOG rmgr */
 #define XLOG_CHECKPOINT_SHUTDOWN		0x00
 #define XLOG_CHECKPOINT_ONLINE			0x10
-#define XLOG_NEXTXID					0x20
 #define XLOG_NEXTOID					0x30