Re: How do I save data and then raise an exception? - Mailing list pgsql-general

From Alvaro Herrera
Subject Re: How do I save data and then raise an exception?
Date
Msg-id 20081003014416.GM4151@alvh.no-ip.org
Whole thread Raw
In response to How do I save data and then raise an exception?  ("Rob Richardson" <Rob.Richardson@rad-con.com>)
Responses Re: How do I save data and then raise an exception?  ("Jaime Casanova" <jcasanov@systemguards.com.ec>)
Re: How do I save data and then raise an exception?  ("Gurjeet Singh" <singh.gurjeet@gmail.com>)
List pgsql-general
Rob Richardson wrote:

> Here's what I need to do:
>
> IF query_check_fails THEN
>     UPDATE some_table SET some_value = 0 WHERE some_condition_is_true;
>     RAISE EXCEPTION 'Look, you idiot, do it right next time!';
> END;
>
> I need the update to work, but I need to raise the exception so the C++
> code recognizes the error.  How can I do both?

You need an autonomous transaction, which Postgres does not support
directly but you can implement using dblink or a plperl function that
connects back to the database.

--
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

pgsql-general by date:

Previous
From: "Rob Richardson"
Date:
Subject: How do I save data and then raise an exception?
Next
From: "Jaime Casanova"
Date:
Subject: Re: How do I save data and then raise an exception?