Assert that BufferIsPinned() in IncrBufferRefCount(), rather than using
authorNeil Conway
Wed, 24 Nov 2004 02:56:17 +0000 (02:56 +0000)
committerNeil Conway
Wed, 24 Nov 2004 02:56:17 +0000 (02:56 +0000)
a home-brewed combination of assertions that boiled down to the same
thing.

src/backend/storage/buffer/bufmgr.c

index c96c635d0a6c67b2bac466b9f46c159ac1d571aa..71998190ff3ab1a14c42e8e41d2c3618a15eb295 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * 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,25 +1549,18 @@ ReleaseBuffer(Buffer buffer)
  *     at least once.
  *
  *     This function cannot be used on a buffer we do not have pinned,
- *     because it doesn't change the shared buffer state.  Therefore the
- *     Assert checks are for refcount > 0.  Someone got this wrong once...
+ *     because it doesn't change the shared buffer state.
  */
 void
 IncrBufferRefCount(Buffer buffer)
 {
-   Assert(BufferIsValid(buffer));
+   Assert(BufferIsPinned(buffer));
    ResourceOwnerEnlargeBuffers(CurrentResourceOwner);
    ResourceOwnerRememberBuffer(CurrentResourceOwner, buffer);
    if (BufferIsLocal(buffer))
-   {
-       Assert(LocalRefCount[-buffer - 1] > 0);
        LocalRefCount[-buffer - 1]++;
-   }
    else
-   {
-       Assert(PrivateRefCount[buffer - 1] > 0);
        PrivateRefCount[buffer - 1]++;
-   }
 }
 
 #ifdef NOT_USED