diff -ur ../orig/src/backend/access/transam/xact.c src/backend/access/transam/xact.c --- ../orig/src/backend/access/transam/xact.c 2002-05-27 16:29:37.000000000 +0200 +++ src/backend/access/transam/xact.c 2002-06-10 14:24:54.000000000 +0200 @@ -182,8 +182,6 @@ #include "pgstat.h" -extern bool SharedBufferChanged; - static void AbortTransaction(void); static void AtAbort_Cache(void); static void AtAbort_Locks(void); @@ -991,8 +989,6 @@ AtCommit_Memory(); AtEOXact_Files(); - SharedBufferChanged = false; /* safest place to do it */ - /* Count transaction commit in statistics collector */ pgstat_count_xact_commit(); @@ -1094,8 +1090,6 @@ AtEOXact_Files(); AtAbort_Locks(); - SharedBufferChanged = false; /* safest place to do it */ - /* Count transaction abort in statistics collector */ pgstat_count_xact_rollback(); diff -ur ../orig/src/backend/storage/buffer/buf_init.c src/backend/storage/buffer/buf_init.c --- ../orig/src/backend/storage/buffer/buf_init.c 2001-11-05 19:46:27.000000000 +0100 +++ src/backend/storage/buffer/buf_init.c 2002-06-10 15:02:24.000000000 +0200 @@ -60,9 +60,6 @@ long *PrivateRefCount; /* also used in freelist.c */ bits8 *BufferLocks; /* flag bits showing locks I have set */ -BufferTag *BufferTagLastDirtied; /* tag buffer had when last - * dirtied by me */ -bool *BufferDirtiedByMe; /* T if buf has been dirtied in cur xact */ /* @@ -235,9 +232,6 @@ BufferBlockPointers = (Block *) calloc(NBuffers, sizeof(Block)); PrivateRefCount = (long *) calloc(NBuffers, sizeof(long)); BufferLocks = (bits8 *) calloc(NBuffers, sizeof(bits8)); - BufferTagLastDirtied = (BufferTag *) calloc(NBuffers, sizeof(BufferTag)); - BufferDirtiedByMe = (bool *) calloc(NBuffers, sizeof(bool)); - /* * Convert shmem offsets into addresses as seen by this process. This * is just to speed up the BufferGetBlock() macro. diff -ur ../orig/src/backend/storage/buffer/bufmgr.c src/backend/storage/buffer/bufmgr.c --- ../orig/src/backend/storage/buffer/bufmgr.c 2002-04-16 01:47:12.000000000 +0200 +++ src/backend/storage/buffer/bufmgr.c 2002-06-10 15:00:57.000000000 +0200 @@ -67,15 +67,6 @@ extern long int BufferFlushCount; extern long int LocalBufferFlushCount; -/* - * It's used to avoid disk writes for read-only transactions - * (i.e. when no one shared buffer was changed by transaction). - * We set it to true in WriteBuffer/WriteNoReleaseBuffer when - * marking shared buffer as dirty. We set it to false in xact.c - * after transaction is committed/aborted. - */ -bool SharedBufferChanged = false; - static void WaitIO(BufferDesc *buf); static void StartBufferIO(BufferDesc *buf, bool forInput); static void TerminateBufferIO(BufferDesc *buf); @@ -593,8 +584,6 @@ bufHdr = &BufferDescriptors[buffer - 1]; - SharedBufferChanged = true; - LWLockAcquire(BufMgrLock, LW_EXCLUSIVE); Assert(bufHdr->refcount > 0); @@ -623,8 +612,6 @@ bufHdr = &BufferDescriptors[buffer - 1]; - SharedBufferChanged = true; - LWLockAcquire(BufMgrLock, LW_EXCLUSIVE); Assert(bufHdr->refcount > 0); @@ -1901,12 +1888,9 @@ * * Mark a buffer dirty when we have updated tuple commit-status bits in it. * - * This is similar to WriteNoReleaseBuffer, except that we do not set - * SharedBufferChanged or BufferDirtiedByMe, because we have not made a + * This is similar to WriteNoReleaseBuffer, except that we have not made a * critical change that has to be flushed to disk before xact commit --- the - * status-bit update could be redone by someone else just as easily. The - * buffer will be marked dirty, but it will not be written to disk until - * there is another reason to write it. + * status-bit update could be redone by someone else just as easily. * * This routine might get called many times on the same page, if we are making * the first scan after commit of an xact that added/deleted many tuples. diff -ur ../orig/src/include/storage/buf_internals.h src/include/storage/buf_internals.h --- ../orig/src/include/storage/buf_internals.h 2001-11-05 19:46:35.000000000 +0100 +++ src/include/storage/buf_internals.h 2002-06-10 15:03:44.000000000 +0200 @@ -170,9 +170,6 @@ /* bufmgr.c */ extern BufferDesc *BufferDescriptors; extern bits8 *BufferLocks; -extern BufferTag *BufferTagLastDirtied; -extern LockRelId *BufferRelidLastDirtied; -extern bool *BufferDirtiedByMe; /* localbuf.c */ extern BufferDesc *LocalBufferDescriptors;