Re: problems with table corruption continued
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: "Mikheev, Vadim" <vmikheev@SECTORBASE.COM>
Cc: Brian Hirt <bhirt@mobygames.com>, Postgres Hackers <pgsql-hackers@postgresql.org>, Brian A Hirt <bhirt@berkhirt.com>
Date: 2001-12-18T19:36:11Z
Lists: pgsql-hackers
"Mikheev, Vadim" <vmikheev@SECTORBASE.COM> writes: >> I would say that it's incorrect for vacuum.c to assume that >> HEAP_XMIN_COMMITTED can't become set on HEAP_MOVED_OFF/HEAP_MOVED_IN >> tuples during the course of vacuum's processing; after all, the xmin >> definitely does refer to a committed xact, and we can't realistically >> assume that we know what processing will be induced by user-defined >> index functions. Vadim, what do you think? How should we fix this? > But it's incorrect for table scan to mark tuple as good neither. Oh, that makes sense. > Looks like we have to add checks for the case > TransactionIdIsCurrentTransactionId(tuple->t_cmin) when > there is HEAP_MOVED_OFF or HEAP_MOVED_IN in t_infomask to > all HeapTupleSatisfies* in tqual.c as we do in > HeapTupleSatisfiesDirty - note comments about uniq btree-s there. Sounds like a plan. Do you want to work on this, or shall I? regards, tom lane