From 3fea625e9ddfbf19eb4fc32c9704b6e4300fed6b Mon Sep 17 00:00:00 2001
From: "Vadim B. Mikheev" <vadim4o@yahoo.com>
Date: Tue, 28 Sep 1999 11:41:09 +0000
Subject: [PATCH] Make tree compilable (+WAL).

---
 src/backend/access/transam/xact.c   |  6 +++---
 src/backend/access/transam/xlog.c   |  7 +++----
 src/backend/commands/vacuum.c       | 14 ++++++--------
 src/backend/storage/buffer/bufmgr.c | 11 ++++-------
 src/backend/storage/smgr/md.c       |  9 ++++++++-
 src/backend/utils/init/postinit.c   |  4 +++-
 src/include/storage/bufmgr.h        |  4 ++--
 7 files changed, 29 insertions(+), 26 deletions(-)

diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c
index b3bf5cd9737..dc5bbcd32eb 100644
--- a/src/backend/access/transam/xact.c
+++ b/src/backend/access/transam/xact.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/access/transam/xact.c,v 1.53 1999/09/24 00:24:05 tgl Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/access/transam/xact.c,v 1.54 1999/09/28 11:41:03 vadim Exp $
  *
  * NOTES
  *		Transaction aborts can now occur two ways:
@@ -632,7 +632,7 @@ RecordTransactionCommit()
 	 */
 	if (SharedBufferChanged)
 	{
-		FlushBufferPool(!TransactionFlushEnabled());
+		FlushBufferPool();
 		if (leak)
 			ResetBufferPool();
 
@@ -646,7 +646,7 @@ RecordTransactionCommit()
 		 *	Now write the log info to the disk too.
 		 */
 		leak = BufferPoolCheckLeak();
-		FlushBufferPool(!TransactionFlushEnabled());
+		FlushBufferPool();
 	}
 
 	if (leak)
diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
index f1b80d40270..2a7d60d3aac 100644
--- a/src/backend/access/transam/xlog.c
+++ b/src/backend/access/transam/xlog.c
@@ -2,6 +2,7 @@
 #include <unistd.h>
 #include <errno.h>
 #include <sys/stat.h>
+#include <sys/time.h>
 
 #include "postgres.h"
 #include "access/xlog.h"
@@ -1376,12 +1377,10 @@ CreateCheckPoint(bool shutdown)
 	/* Get REDO record ptr */
 	while (!TAS(&(XLogCtl->insert_lck)))
 	{
-		struct timeval delay;
+		struct timeval delay = {0, 5000};
 
 		if (shutdown)
 			elog(STOP, "XLog insert lock is busy while data base is shutting down");
-		delay.tv_sec = 0;
-		delay.tv_usec = 0;
 		(void) select(0, NULL, NULL, NULL, &delay);
 	}
 	freespace = ((char*) Insert->currpage) + BLCKSZ - Insert->currpos;
@@ -1408,7 +1407,7 @@ CreateCheckPoint(bool shutdown)
 	checkPoint.nextOid = ShmemVariableCache->nextOid;
 	SpinRelease(OidGenLockId);
 
-	FlushBufferPool(false);
+	FlushBufferPool();
 
 	/* Get UNDO record ptr */
 
diff --git a/src/backend/commands/vacuum.c b/src/backend/commands/vacuum.c
index e5cf7b0c88a..62ef4028d76 100644
--- a/src/backend/commands/vacuum.c
+++ b/src/backend/commands/vacuum.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/commands/vacuum.c,v 1.121 1999/09/24 00:24:17 tgl Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/commands/vacuum.c,v 1.122 1999/09/28 11:41:04 vadim Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1703,9 +1703,9 @@ failed to add item with len = %u to page %u (free space %u, nusd %u, noff %u)",
 		 * flush buffers and record status of current transaction as
 		 * committed, and continue. - vadim 11/13/96
 		 */
-		FlushBufferPool(!TransactionFlushEnabled());
+		FlushBufferPool();
 		TransactionIdCommit(myXID);
-		FlushBufferPool(!TransactionFlushEnabled());
+		FlushBufferPool();
 	}
 
 	/*
@@ -1899,12 +1899,10 @@ vc_vacheap(VRelStats *vacrelstats, Relation onerel, VPageList vacuum_pages)
 			 vacrelstats->num_pages, nblocks);
 
 		/*
-		 * we have to flush "empty" end-pages (if changed, but who knows
-		 * it) before truncation
-		 *
-		 * XXX wouldn't passing 'true' to FlushRelationBuffers do the job?
+		 * We have to flush "empty" end-pages (if changed, but who knows it)
+		 * before truncation
 		 */
-		FlushBufferPool(!TransactionFlushEnabled());
+		FlushBufferPool();
 
 		i = FlushRelationBuffers(onerel, nblocks, false);
 		if (i < 0)
diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c
index e0327c678f2..a6f52583a06 100644
--- a/src/backend/storage/buffer/bufmgr.c
+++ b/src/backend/storage/buffer/bufmgr.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/storage/buffer/bufmgr.c,v 1.63 1999/09/24 00:24:29 tgl Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/storage/buffer/bufmgr.c,v 1.64 1999/09/28 11:41:06 vadim Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1240,13 +1240,10 @@ relname=%s, blockNum=%d, flags=0x%x, refcount=%d %d)",
  * ------------------------------------------------
  */
 void
-FlushBufferPool(int StableMainMemoryFlag)
+FlushBufferPool(void)
 {
-	if (!StableMainMemoryFlag)
-	{
-		BufferSync();
-		smgrcommit();
-	}
+	BufferSync();
+	smgrcommit();
 }
 
 /*
diff --git a/src/backend/storage/smgr/md.c b/src/backend/storage/smgr/md.c
index 444181a938a..a2c102145b8 100644
--- a/src/backend/storage/smgr/md.c
+++ b/src/backend/storage/smgr/md.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/storage/smgr/md.c,v 1.54 1999/09/24 00:24:47 tgl Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/storage/smgr/md.c,v 1.55 1999/09/28 11:41:07 vadim Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -815,6 +815,12 @@ mdtruncate(Relation reln, int nblocks)
 int
 mdcommit()
 {
+#ifdef XLOG
+	sync();
+	sleep(1);
+	sync();
+	return SM_SUCCESS;
+#else
 	int			i;
 	MdfdVec    *v;
 
@@ -838,6 +844,7 @@ mdcommit()
 	}
 
 	return SM_SUCCESS;
+#endif	/* XLOG */
 }
 
 /*
diff --git a/src/backend/utils/init/postinit.c b/src/backend/utils/init/postinit.c
index 51d4727fe35..1285c23e843 100644
--- a/src/backend/utils/init/postinit.c
+++ b/src/backend/utils/init/postinit.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/utils/init/postinit.c,v 1.49 1999/09/24 00:24:58 tgl Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/utils/init/postinit.c,v 1.50 1999/09/28 11:41:09 vadim Exp $
  *
  * NOTES
  *		InitPostgres() is the function called from PostgresMain
@@ -541,8 +541,10 @@ InitPostgres(char *name)		/* database name */
 	 */
 	InitLocalBuffer();
 
+#ifndef XLOG
 	if (!TransactionFlushEnabled())
 		on_shmem_exit(FlushBufferPool, (caddr_t) NULL);
+#endif
 
 	/* ----------------
 	 *	initialize the database id used for system caches and lock tables
diff --git a/src/include/storage/bufmgr.h b/src/include/storage/bufmgr.h
index fb901b8f442..fcf9e730ac7 100644
--- a/src/include/storage/bufmgr.h
+++ b/src/include/storage/bufmgr.h
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: bufmgr.h,v 1.31 1999/09/24 00:25:27 tgl Exp $
+ * $Id: bufmgr.h,v 1.32 1999/09/28 11:40:53 vadim Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -170,7 +170,7 @@ extern void PrintBufferUsage(FILE *statfp);
 extern void ResetBufferUsage(void);
 extern void ResetBufferPool(void);
 extern int	BufferPoolCheckLeak(void);
-extern void FlushBufferPool(int StableMainMemoryFlag);
+extern void FlushBufferPool(void);
 extern BlockNumber BufferGetBlockNumber(Buffer buffer);
 extern BlockNumber RelationGetNumberOfBlocks(Relation relation);
 extern int	FlushRelationBuffers(Relation rel, BlockNumber block,
-- 
GitLab