Jan Wieck <[EMAIL PROTECTED]> writes:
> It seems to me that buffers that are thrown away via
> StrategyInvalidateBuffer() do not get their relnode and blocknum cleaned
> out.
Mmmm. They definitely should be; if you look at the prior version of
buf_table.c, BufTableDelete did this:
/*
* 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;
I see you removed that from the current version, but the equivalent
thing needs to be done someplace. Is StrategyInvalidateBuffer the
right place?
BTW, it kinda looks like the BM_DELETED flag bit is useless now?
regards, tom lane
---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])