OSDN Git Service

Fix ReadBuffer() to correctly handle the case where it's trying to extend
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 6 Jan 2006 00:04:20 +0000 (00:04 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 6 Jan 2006 00:04:20 +0000 (00:04 +0000)
commit304160c3e270e6db75e109c149799d09b6f1461b
tree7f0ed6f8a8624b500b0b6b543ad852d0002b29ed
parent6d41b144e900ab772f11960e828d032bda0a5f12
Fix ReadBuffer() to correctly handle the case where it's trying to extend
the relation but it finds a pre-existing valid buffer.  The buffer does not
correspond to any page known to the kernel, so we *must* do smgrextend to
ensure that the space becomes allocated.  The 7.x branches all do this
correctly, but the corner case got lost somewhere during 8.0 bufmgr rewrites.
(My fault no doubt :-( ... I think I assumed that such a buffer must be
not-BM_VALID, which is not so.)
src/backend/storage/buffer/bufmgr.c