"Pavan Deolasee" <pavan.deolasee@gmail.com> writes:
> On 9/21/07, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>>
>> so this example is getting past the heuristic tests in
>> heap_page_prune_opt almost every time. Why is that? Too tired to poke
>> at it more tonight.
>>
> I guess you already know the answer now, but anyways: Since we are
> updating a single tuple in a single transaction, each update is preceded
> by a sequential scan. All but last pages are completely full and marked
> prunable, so HOT would try to (unsuccessfully) prune every (except may
> be last) page.
Hmm ... the problem really is that heap_page_prune turns the hint back
on when it sees a DELETE_IN_PROGRESS tuple. Maybe that's a bad idea.
I don't much like the idea of adding an xid to the page header --- for
one thing, *which* xid would you put there, and what would you test it
against?
regards, tom lane