Re: Does RAISE EXCEPTION rollback previous commands in a stored function? - Mailing list pgsql-general

From Pavel Stehule
Subject Re: Does RAISE EXCEPTION rollback previous commands in a stored function?
Date
Msg-id CAFj8pRCJ1RkfZ3e44eQ3EKAe5rySfjAR-rbKHePVVkkMSzV8iQ@mail.gmail.com
Whole thread Raw
In response to Re: Does RAISE EXCEPTION rollback previous commands in a stored function?  (Alexander Farber <alexander.farber@gmail.com>)
List pgsql-general
Hi

2016-03-02 10:47 GMT+01:00 Alexander Farber <alexander.farber@gmail.com>:
Hi Laurenz,

how to set such a savepoint inside of a stored function?

Can I call "START TRANSACTION", and then at some point later in the same stored function call RAISE EXCEPTION?

You cannot to do it explicitly. But, when you handle any exception in bloc, then subtransaction is used implicitly

BEGIN ~ starts transaction
  ...
  ...
EXCEPTION  WHEN ... ~ rollback transaction

Regards

Pavel

 

Regargs
Alex

On Wed, Mar 2, 2016 at 10:37 AM, Albe Laurenz <laurenz.albe@wien.gv.at> wrote:
Andreas Kretschmer wrote:
>> Alexander Farber <alexander.farber@gmail.com> hat am 1. März 2016 um 19:41
>> geschrieben:
 
>> in PostgreSQL 9.5 does RAISE EXCEPTION reliably rollback all previous
>> commands in a stored function?
>
> Yes.

That is, unless you set a savepoint to which you can rollback.


pgsql-general by date:

Previous
From: Vitaly Burovoy
Date:
Subject: Re: How to ensure that a stored function always returns TRUE or FALSE?
Next
From: Albe Laurenz
Date:
Subject: Re: Does RAISE EXCEPTION rollback previous commands in a stored function?