On 9/21/07, Tom Lane <tgl@sss.pgh.pa.us> wrote:
but control never gets that far because neither xmin nor xmax is
committed yet. We could fix that, probably, by considering the
xmin=xmax case in the xmin-in-progress case further up; but the
HEAP_UPDATED exclusion is still a problem. Still, it seems like this
is leaving some money on the table when you think about pruning a HOT
chain. Can we improve on it easily?
May be we can, but it would get a bit tricky. There might be a transaction
looking at the first tuple in the chain and waiting for this (inserting-deleting)
transaction to finish. If the waiting transaction is running in READ COMMITTED
mode, it would then follow the update chain. Removing any intermediate
tuples without fixing the previous tuple's xmax/ctid (or redirected line pointer)
would be tricky.
Thanks,
Pavan
--
Pavan Deolasee
EnterpriseDB
http://www.enterprisedb.com