"Tom Lane" <[EMAIL PROTECTED]> writes:
>
> This is entirely likely to find the same non-BM_VALID buffer that was
> assigned in the first iteration.
>

So after we found it, we still need to extend the file. In ReadBuffer():

---
 /* if it was already in the buffer pool, we're done */
 if (found)
 {
  ...
  return BufferDescriptorGetBuffer(bufHdr);
 }

 /* ... so future attempts ... come right back here to
  * try smgrextend again.
  */
---

Shall we write

    /* If it was already in the buffer pool and not for extension, we're
done */
    if (found && !isExtend)

instead?

Regards,
Qingqing




---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to