Jan Wieck <JanWieck@Yahoo.com> 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
fromit, but it ensures that * sequential searches through the buffer table won't think the buffer * is still
validfor 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