Re: Does RAISE EXCEPTION rollback previous commands in a stored function?

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема Re: Does RAISE EXCEPTION rollback previous commands in a stored function?
Дата
Msg-id CAFj8pRCJ1RkfZ3e44eQ3EKAe5rySfjAR-rbKHePVVkkMSzV8iQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Does RAISE EXCEPTION rollback previous commands in a stored function?  (Alexander Farber <alexander.farber@gmail.com>)
Список 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 по дате отправления:

Предыдущее
От: Vitaly Burovoy
Дата:
Сообщение: Re: How to ensure that a stored function always returns TRUE or FALSE?
Следующее
От: Albe Laurenz
Дата:
Сообщение: Re: Does RAISE EXCEPTION rollback previous commands in a stored function?