how to tell if a tuple has been inserted in current transaction

From: pg noob <pgnube(at)gmail(dot)com>
To: pgsql-novice <pgsql-novice(at)postgresql(dot)org>
Subject: how to tell if a tuple has been inserted in current transaction
Date: 2012-05-03 13:50:28
Message-ID: CAPNY-2UFrBbeN9A_5Siwcu-QhHv_R5kkJMii4GcdPzu8JGoR9Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

Hi all,

I have a trigger function which is getting invoked on insert/update and
within that trigger I would like to know if some tuple, from a different
table referenced by foreign key constraint from the table with the trigger
on it, was inserted within the same transaction as the insert/update that
caused the trigger to fire.

I found that I can tell if the foreign tuple was inserted or updated by
checking if its xmin == select txid_current(), but there doesn't appear to
be any way to know if it was modified because of an INSERT or an UPDATE. I
would like to distinguish between whether it was an insert or update that
caused the row to be modified. Is this possible?

Thank you for any information.

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message Oliveiros d'Azevedo Cristina 2012-05-03 13:53:31 Re: JOIN producing duplicate results
Previous Message Brent Dombrowski 2012-05-03 13:22:49 Re: JOIN producing duplicate results