Hi Andrew,
I think I may have cracked this problem by combining a RULE ON DELETE which
calls a function instead of the standard DELETE op. No triggers. It was a
real nightmare as it was my first attempt at a rule and it kept ending up in
circular self-references. In the end though it boiled down to a pretty
compact solution. It's getting late now but I'll be testing it out properly
tomorrow. I can post it up then if you're interested.
Thanks for your help,
Simon
-----Original Message-----
From: pgsql-sql-owner@postgresql.org [mailto:pgsql-sql-owner@postgresql.org]
On Behalf Of Andrew Sullivan
Sent: Thursday, March 02, 2006 12:20 PM
To: pgsql-sql@postgresql.org
Subject: Re: [SQL] Help with trigger that updates a row prior to a
potentially aborted deletion?
On Wed, Mar 01, 2006 at 08:41:20PM -0000, Simon Kinsella wrote:
> Ok thanks, will check this out. Is that the same as savepoints, or
> something different? (am using 8.1.2)
Yes, same thing.
> At the moment I'm investigating using a rule (rewrite the DELETE as an
> UPDATE to set the flag, then use an AFTER UPDATE trigger to attempt to
> delete the row if the flag was set). Not sure if it's going to work
> but if so I'll post back.
In a message you sent that I read after I sent mine, you also said you had
to be able to handle deletes from the table with CASCADE. My suggestion
won't work for that, I don't think (but it might be worth a try). The only
other thing I can think of is just flag everything, and use a daemon to go
around and perform the actual deletes for you.
A
--
Andrew Sullivan | ajs@crankycanuck.ca
The plural of anecdote is not data. --Roger Brinner
---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faq