Re: Compressing the AFTER TRIGGER queue

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Compressing the AFTER TRIGGER queue
Дата
Msg-id 28230.1312221321@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Compressing the AFTER TRIGGER queue  (Robert Haas <robertmhaas@gmail.com>)
Ответы Re: Compressing the AFTER TRIGGER queue  (Dean Rasheed <dean.a.rasheed@gmail.com>)
Список pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes:
> On Mon, Aug 1, 2011 at 1:42 PM, Dean Rasheed <dean.a.rasheed@gmail.com> wrote:
>>> Don't we already do that when pruning HOT chains?

>> I thought that only happens after the transaction is committed, and
>> old enough, whereas the trigger code only needs to follow the chain in
>> the updating transaction.

> Hmm, true.

> I worry a bit that this might foreclose possible future optimization
> of the "self update" case, which is a known pain point.  Am I wrong to
> worry?

I think it might be OK if you explicitly verify that xmin/cmin of the
linked-to tuple matches the (sub)transaction/command that queued the
trigger event.  I don't recall whether the trigger code does that
already; I think there is some related test but it might not be that
strict.

There's also a definitional issue involved: if a transaction updates the
same tuple twice, in the presence of a deferred update trigger for the
table, is it supposed to (eventually) fire the trigger for both update
actions or only the last one?  I have a feeling we might already be
locked into the second choice, but if not, this would probably force it.
        regards, tom lane


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

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: Compressing the AFTER TRIGGER queue
Следующее
От: Simon Riggs
Дата:
Сообщение: Re: One-Shot Plans