Re: problems with table corruption continued - Mailing list pgsql-hackers

From Tom Lane
Subject Re: problems with table corruption continued
Date
Msg-id 17925.1008704171@sss.pgh.pa.us
Whole thread Raw
In response to Re: problems with table corruption continued  ("Mikheev, Vadim" <vmikheev@SECTORBASE.COM>)
Responses Re: problems with table corruption continued  ("Hiroshi Inoue" <Inoue@tpf.co.jp>)
List 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


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: problems with table corruption continued
Next
From: "Brian Hirt"
Date:
Subject: Re: problems with table corruption continued