mirror of
https://github.com/postgres/postgres.git
synced 2025-07-05 07:21:24 +03:00
FlushLocalBuffer () releases buffer only if required
by caller.
This commit is contained in:
@ -15,7 +15,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* 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
|
* flushes a local buffer
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
FlushLocalBuffer(Buffer buffer)
|
FlushLocalBuffer(Buffer buffer, bool release)
|
||||||
{
|
{
|
||||||
int bufid;
|
int bufid;
|
||||||
Relation bufrel;
|
Relation bufrel;
|
||||||
@ -194,6 +194,7 @@ FlushLocalBuffer(Buffer buffer)
|
|||||||
(char *) MAKE_PTR(bufHdr->data));
|
(char *) MAKE_PTR(bufHdr->data));
|
||||||
|
|
||||||
Assert(LocalRefCount[bufid] > 0);
|
Assert(LocalRefCount[bufid] > 0);
|
||||||
|
if ( release )
|
||||||
LocalRefCount[bufid]--;
|
LocalRefCount[bufid]--;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
Reference in New Issue
Block a user