Re: Help with trigger that updates a row prior to a potentially aborted deletion?

From: "Simon Kinsella" <simon(at)bluefiresystems(dot)co(dot)uk>
To: <pgsql-sql(at)postgresql(dot)org>
Subject: Re: Help with trigger that updates a row prior to a potentially aborted deletion?
Date: 2006-03-03 00:19:22
Message-ID: 20060303001928.9C6B719B6A3@smtp03l.fasthosts.co.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

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(at)postgresql(dot)org [mailto:pgsql-sql-owner(at)postgresql(dot)org]
On Behalf Of Andrew Sullivan
Sent: Thursday, March 02, 2006 12:20 PM
To: pgsql-sql(at)postgresql(dot)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(at)crankycanuck(dot)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

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Andreas 2006-03-03 03:28:01 How to check date-interval constraints
Previous Message Michael Fuhr 2006-03-02 22:49:50 Re: Why can't I use daylight savings time aware time zones with the AT TIME ZONE clause?