Re: Comparing txid_current() to xmin - Mailing list pgsql-general

From Andres Freund
Subject Re: Comparing txid_current() to xmin
Date
Msg-id 20121107082104.GA6740@anarazel.de
Whole thread Raw
In response to Comparing txid_current() to xmin  (Mike Lewis <mikelikespie@gmail.com>)
Responses Re: Comparing txid_current() to xmin
List pgsql-general
On Tue, Nov 06, 2012 at 02:55:40PM -0800, Mike Lewis wrote:
> I am trying to make a trigger that updates a row once and only once per
> transaction (even if this trigger gets fired multiple times).  The general
> idea is that for a user we have a version number.  When we modify the
> user's data, the version number is incremented then set on the object.  We
> only need to increment the version number once.
>
> I am thinking about doing something like:
>
> update user
> set version=version+1
> where txid_current() != xmin and user_id = 352395;
>
>
> So I guess my questions are:
>
> How dirty is this?
> Will I run into issues?

It won't work in the presenence of subtransactions and is a bit more
complicated if you inserted the row in the same transaction.


pgsql-general by date:

Previous
From: Yvon Thoraval
Date:
Subject: Re: creating a function returning FALSE on NULL input ?
Next
From: Achilleas Mantzios
Date:
Subject: Re: Memory issue on FreeBSD