OSDN Git Service

FlushLocalBuffer () releases buffer only if required
authorVadim B. Mikheev <vadim4o@yahoo.com>
Thu, 16 Jan 1997 08:13:14 +0000 (08:13 +0000)
committerVadim B. Mikheev <vadim4o@yahoo.com>
Thu, 16 Jan 1997 08:13:14 +0000 (08:13 +0000)
by caller.

src/backend/storage/buffer/localbuf.c

index 30943e6..cd2476b 100644 (file)
@@ -15,7 +15,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/storage/buffer/localbuf.c,v 1.4 1996/11/10 03:02:18 momjian Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/storage/buffer/localbuf.c,v 1.5 1997/01/16 08:13:14 vadim Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -172,7 +172,7 @@ WriteLocalBuffer(Buffer buffer, bool release)
  *    flushes a local buffer
  */
 int
-FlushLocalBuffer(Buffer buffer)
+FlushLocalBuffer(Buffer buffer, bool release)
 {
     int bufid;
     Relation bufrel;
@@ -194,7 +194,8 @@ FlushLocalBuffer(Buffer buffer)
              (char *) MAKE_PTR(bufHdr->data));
 
     Assert(LocalRefCount[bufid] > 0);
-    LocalRefCount[bufid]--;
+    if ( release )
+       LocalRefCount[bufid]--;
     
     return true;
 }