mirror of
https://github.com/postgres/postgres.git
synced 2025-05-20 00:03:14 -04:00
Assert that BufferIsPinned() in IncrBufferRefCount(), rather than using
a home-brewed combination of assertions that boiled down to the same thing.
This commit is contained in:
parent
dec2c77c1f
commit
4acc97d7e4
@ -8,7 +8,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $PostgreSQL: pgsql/src/backend/storage/buffer/bufmgr.c,v 1.181 2004/10/17 22:01:50 tgl Exp $
|
* $PostgreSQL: pgsql/src/backend/storage/buffer/bufmgr.c,v 1.182 2004/11/24 02:56:17 neilc Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -1549,26 +1549,19 @@ ReleaseBuffer(Buffer buffer)
|
|||||||
* at least once.
|
* at least once.
|
||||||
*
|
*
|
||||||
* This function cannot be used on a buffer we do not have pinned,
|
* This function cannot be used on a buffer we do not have pinned,
|
||||||
* because it doesn't change the shared buffer state. Therefore the
|
* because it doesn't change the shared buffer state.
|
||||||
* Assert checks are for refcount > 0. Someone got this wrong once...
|
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
IncrBufferRefCount(Buffer buffer)
|
IncrBufferRefCount(Buffer buffer)
|
||||||
{
|
{
|
||||||
Assert(BufferIsValid(buffer));
|
Assert(BufferIsPinned(buffer));
|
||||||
ResourceOwnerEnlargeBuffers(CurrentResourceOwner);
|
ResourceOwnerEnlargeBuffers(CurrentResourceOwner);
|
||||||
ResourceOwnerRememberBuffer(CurrentResourceOwner, buffer);
|
ResourceOwnerRememberBuffer(CurrentResourceOwner, buffer);
|
||||||
if (BufferIsLocal(buffer))
|
if (BufferIsLocal(buffer))
|
||||||
{
|
|
||||||
Assert(LocalRefCount[-buffer - 1] > 0);
|
|
||||||
LocalRefCount[-buffer - 1]++;
|
LocalRefCount[-buffer - 1]++;
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
|
||||||
Assert(PrivateRefCount[buffer - 1] > 0);
|
|
||||||
PrivateRefCount[buffer - 1]++;
|
PrivateRefCount[buffer - 1]++;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef NOT_USED
|
#ifdef NOT_USED
|
||||||
void
|
void
|
||||||
|
Loading…
x
Reference in New Issue
Block a user