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

From Mike Lewis
Subject Comparing txid_current() to xmin
Date
Msg-id CA+foqsSHYp8YRtRUfR+QSXv1ogQXhy9hNKP2dxDeqmri7odo-w@mail.gmail.com
Whole thread Raw
Responses Re: Comparing txid_current() to xmin  (Sergey Konoplev <gray.ru@gmail.com>)
Re: Comparing txid_current() to xmin  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Re: Comparing txid_current() to xmin  (Andres Freund <andres@anarazel.de>)
List pgsql-general
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?
Is there a better way of doing this?

Thanks,
Mike

pgsql-general by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: fuzzystrmatch module buggy? observations
Next
From: Sergey Konoplev
Date:
Subject: Re: Comparing txid_current() to xmin