From b00c2c1d3fa0f5e0cef88743d1243d8c4a857e6d Mon Sep 17 00:00:00 2001 From: "Vadim B. Mikheev" <vadim4o@yahoo.com> Date: Thu, 16 Jan 1997 08:13:14 +0000 Subject: [PATCH] FlushLocalBuffer () releases buffer only if required by caller. --- src/backend/storage/buffer/localbuf.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/backend/storage/buffer/localbuf.c b/src/backend/storage/buffer/localbuf.c index 30943e68b38..cd2476b6e87 100644 --- a/src/backend/storage/buffer/localbuf.c +++ b/src/backend/storage/buffer/localbuf.c @@ -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; } -- GitLab