Thread: RE: Re: [COMMITTERS] TOAST
> The problem appears to be that DataFill() is invoked on the tuple > after toasting, and it forces the infomask to zero, losing any > transaction status bits that may have been there. I think perhaps > line 93 of heaptuple.c should be > > *infomask &= HEAP_XACT_MASK; > > not > > *infomask = 0; > > Comments anyone? One should check all places from where DataFill called... Btw, I've found that I unlocked buffer in heap_insert *after* WriteBuffer - fixed. 2Jan - please note NO ELOG(ERROR)... comment in heap_update: can you move toast code below xlog one? Vadim
"Mikheev, Vadim" <vmikheev@SECTORBASE.COM> writes: > One should check all places from where DataFill called... I did. All the other ones start with an already-zeroed infomask. I think this change is correct as far as it goes, though we still have bugs elsewhere... regards, tom lane
Mikheev, Vadim wrote: > 2Jan - please note NO ELOG(ERROR)... comment in heap_update: can you move > toast > code below xlog one? Will take a look if that matters. Jan -- #======================================================================# # It's easier to get forgiveness for being wrong than for being right. # # Let's break this rule - forgive me. # #================================================== JanWieck@Yahoo.com #