On 3/10/07, Pavan Deolasee <pavan.deolasee@gmail.com> wrote:
scan_heap() would usually have collected the DEAD tuple in offsets_free
list. How do you plan to check if the tuple is in middle on a chain which has
RECENTLY_DEAD tuple before the tuple under check ? Don't we need
to collect the TID of the DEAD tuple in the vtlinks[] as well to establish
the backward chains ?
Now that I read your first mail more carefully, I think you are suggesting
that we move the tuple chains in pieces where each piece is terminated
when we see a DEAD tuple. In that case, we don't need any of what
I said above. Also, ISTM that HOT would work fine with this change
and we may not need to the xmin-hack I described earlier. So it makes
me comfortable. Well, at least until I take your modified code, merge
HOT-changes and rerun the crazy UPDATE/VACUUM FULL intensive
tests :)
Thanks,
Pavan
--
EnterpriseDB
http://www.enterprisedb.com