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.m...@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


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to