Thread: RE: Re: [COMMITTERS] TOAST

RE: Re: [COMMITTERS] TOAST

From
"Mikheev, Vadim"
Date:
> 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


Re: Re: [COMMITTERS] TOAST

From
Tom Lane
Date:
"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


Re: Re: [COMMITTERS] TOAST

From
JanWieck@t-online.de (Jan Wieck)
Date:
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 #