From: | Glyn Astill <glynastill(at)yahoo(dot)co(dot)uk> |
---|---|
To: | Andreas Joseph Krogh <andreas(at)visena(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Triggers on transaction? |
Date: | 2015-05-27 13:40:41 |
Message-ID: | 511068439.531944.1432734041583.JavaMail.yahoo@mail.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
> From: Andreas Joseph Krogh <andreas(at)visena(dot)com>
>To: pgsql-hackers(at)postgresql(dot)org
>Sent: Wednesday, 27 May 2015, 13:55
>Subject: Re: [HACKERS] Triggers on transaction?
>
>
>På onsdag 27. mai 2015 kl. 12:42:29, skrev Marko Tiikkaja <marko(at)joh(dot)to>:
>On 5/27/15 12:39 PM, Jordan Gigov wrote:
>>> I found myself in need of triggers that are run only once per transaction,
>>> rather than per row or statement within the transaction. Meaning it will
>>> always be deferred and never called twice for the same transaction.
>>
>>What's the use case?
>
>
>I've often needed this for stuff like:
>
>UPDATE some_table SET col = 'foo' where id = 1;
>UPDATE some_table SET col = 'bar' where id = 1;
>
>I want the "on-tx"-trigger to only run once, and on the last update of "col" so that it sees 'bar'.
>
I often have similar requirements, and usually end up having to track what's already been updated with a trigger or similar then finally do the work in a deferred trigger. I'd have thought something more like FOR EACH { ROW | STATEMENT } PER TRANSACTION would be more fitting.
From | Date | Subject | |
---|---|---|---|
Next Message | Noah Misch | 2015-05-27 13:51:43 | Re: [COMMITTERS] pgsql: Add pg_audit, an auditing extension |
Previous Message | Stephen Frost | 2015-05-27 13:24:29 | Re: [COMMITTERS] pgsql: Add pg_audit, an auditing extension |