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