Jan Wieck <[EMAIL PROTECTED]> writes:
> Yeah, adding a buffer multiple times to the list of unused buffers 
> ensures that it later on gets used for multiple contents simultaneously. 

Hm.  Looking at the patch last night, I was wondering why you had
removed all the guard logic from BufTableInsert and BufTableDelete.
Was that indeed a bad idea?  In particular, the removal of this bit
from BufTableDelete

    /*
     * Clear the buffer's tag.  This doesn't matter for the hash table,
     * since the buffer is already removed from it, but it ensures that
     * sequential searches through the buffer table won't think the buffer
     * is still valid for its old page.
     */
    buf->tag.rnode.relNode = InvalidOid;
    buf->tag.rnode.tblNode = InvalidOid;

worries me quite a lot, because I *know* that was necessary before.
Have you really changed the search algorithms to the point where it's not?

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faqs/FAQ.html

Reply via email to