Re: How to check whether the row was modified by this transaction before?

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема Re: How to check whether the row was modified by this transaction before?
Дата
Msg-id 20121206180851.GB4299@alvh.no-ip.org
обсуждение исходный текст
Ответ на Re: How to check whether the row was modified by this transaction before?  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: How to check whether the row was modified by this transaction before?
Re: How to check whether the row was modified by this transaction before?
Список pgsql-hackers
Tom Lane wrote:
> Vlad Arkhipov <arhipov@dc.baikal.ru> writes:
> > In a BEFORE UPDATE trigger I need to know whether the row was previously
> > modified by this transaction. Is it safe to use xmin and txid_current()
> > for this purpose (xmin is 32-bit txid type but txid_current() returns
> > 64-bit bigint).
>
> >    IF OLD.xmin = txid_current() THEN
>
> Comparing to txid_current() mod 2^32 would probably work,

I think we should be setting the initial epoch to something other than
zero.  That way, some quick testing would have revealed this problem
immediately.

--
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services



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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Setting visibility map in VACUUM's second phase
Следующее
От: Simon Riggs
Дата:
Сообщение: Re: Commits 8de72b and 5457a1 (COPY FREEZE)