aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVadim B. Mikheev <vadim4o@yahoo.com>1999-09-28 11:41:09 +0000
committerVadim B. Mikheev <vadim4o@yahoo.com>1999-09-28 11:41:09 +0000
commit3fea625e9ddfbf19eb4fc32c9704b6e4300fed6b (patch)
tree80d428badad5586bde261cfa59a4512a122ceff5
parent539b6304b339d84153b754bd0f7aacb51f5380f2 (diff)
downloadpostgresql-3fea625e9ddfbf19eb4fc32c9704b6e4300fed6b.tar.gz
postgresql-3fea625e9ddfbf19eb4fc32c9704b6e4300fed6b.zip
Make tree compilable (+WAL).
-rw-r--r--src/backend/access/transam/xact.c6
-rw-r--r--src/backend/access/transam/xlog.c7
-rw-r--r--src/backend/commands/vacuum.c14
-rw-r--r--src/backend/storage/buffer/bufmgr.c11
-rw-r--r--src/backend/storage/smgr/md.c9
-rw-r--r--src/backend/utils/init/postinit.c4
-rw-r--r--src/include/storage/bufmgr.h4
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,