Re: HeapTupleSatisfiesToast not setting XMIN_COMMITTED?

Поиск
Список
Период
Сортировка
От Merlin Moncure
Тема Re: HeapTupleSatisfiesToast not setting XMIN_COMMITTED?
Дата
Msg-id CAHyXU0w2Kdu+NKSHfGQhyYa8bo=ch=qwz6fAPPWKNQHHcZrnMg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: HeapTupleSatisfiesToast not setting XMIN_COMMITTED?  (Alvaro Herrera <alvherre@commandprompt.com>)
Список pgsql-hackers
On Wed, Sep 21, 2011 at 2:14 PM, Alvaro Herrera
<alvherre@commandprompt.com> wrote:
>
> Excerpts from Merlin Moncure's message of mié sep 21 16:02:34 -0300 2011:
>> On Wed, Sep 21, 2011 at 1:03 PM, Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
>> >
>> > Hi,
>> >
>> > I notice that HeapTupleSatisfiesToast is not setting the
>> > HEAP_XMIN_COMMITTED bit, though it is reading it.  Is there a reason for
>> > this?  It seems to me that it'd make sense to have it set ... unless
>> > it's set by some other routine, somehow?
>>
>> I think it's implied from the untoasted row.  Notice that it's not
>> checking visibility either except in binary upgrade cases.
>
> Yeah, so toast visibility is highly dependant to the referencing row.
> Which makes sense.  But then, if the XMIN_COMMITTED bit is not set,
> you're forced to check the other bits every time.  I guess the tradeoff
> is that if you set it, the page is dirtied and you're forced to write it
> down, which is even worse.

yeah -- there's no way it's worth the i/o in that case, since there's
no visibility check to protect yourself from.

> More interesting, however, is the fact that the XMAX_COMMITTED bit is
> never set either.  I guess the rows are deleted by a different mechanism
> (tuptoaster probably) -- it isn't obvious how this works just by looking
> at tqual.c.  It seems to do nothing at all.

yup -- probably the only reason it exists at all is vacuum issues
which all visibility routines have to handle. otherwise, it's a fancy
'return true'.

merlin


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Simon Riggs
Дата:
Сообщение: Re: Inlining comparators as a performance optimisation
Следующее
От: Heikki Linnakangas
Дата:
Сообщение: Re: WIP: SP-GiST, Space-Partitioned GiST