Re: rows modified in current transaction

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: rows modified in current transaction
Дата
Msg-id 201208301820.50716.andres@2ndquadrant.com
обсуждение исходный текст
Ответ на Re: rows modified in current transaction  (Andres Freund <andres@2ndquadrant.com>)
Список pgsql-hackers
On Thursday, August 30, 2012 06:09:43 PM Andres Freund wrote:
> On Thursday, August 30, 2012 06:06:59 PM Robert Haas wrote:
> > On Thu, Aug 30, 2012 at 10:36 AM, Miroslav Šimulčík
> >
> > <simulcik.miro@gmail.com> wrote:
> > > is there any way to check if row have already been modified by the
> > > current transaction? I tried condition txid_current() = xmin, but there
> > > is problem with the savepoints. After every savepoint rows are getting
> > > higher xmin values, but txid_current() remains the same.
> >
> > It sounds like you're looking for a function that will give an array
> > of all XIDs for the current transcation, rather than just the XID of
> > the current sub-transaction.  I don't think we currently expose that.
>
> txid_current_snapshot(), txis_visible_in_snapshot() may work.
No, it obviously cannot. No idea what I thought... txid_visible_in_snapshot is
fine, but txid_current_snapshot() obviously will return a snapshot containing
that sees everything the current transaction does.

You possibly could calculate a difference between a txid_current_snapshot()
taken at the beginning of a repeatable read transaction and the current one,
but thats too ugly.

Andres
-- Andres Freund                       http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services



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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: rows modified in current transaction
Следующее
От: Tom Lane
Дата:
Сообщение: Re: pg_operator.oprcode in 9.2rc1