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 CAFj8pRC8GA6ZYRn=4TdZto4mC33zm6LHQXs7JAZ-R+rOFzM+8A@mail.gmail.com
Whole thread Raw
In response to Does RAISE EXCEPTION rollback previous commands in a stored function?  (Alexander Farber <alexander.farber@gmail.com>)
List pgsql-general
Hi

2016-03-01 19:41 GMT+01:00 Alexander Farber <alexander.farber@gmail.com>:
Good evening,

in PostgreSQL 9.5 does RAISE EXCEPTION reliably rollback all previous commands in a stored function?

I have a stored function (the code is at the bottom), which takes a JSON array of objects as arguments.

First it prepares some data and then loops through the JSON array and upserts the objects into a table.

However if any of the objects fails an authenticity check (using md5 + some secret string) - I would like to rollback everything.

Since I can not use START TRANSACTION in a stored function, I wonder if another loop should be added at the very beginning - or if I can just use the one I already have at the end.

transaction is started implicitly when you start SQL statement.

Pavel
  

pgsql-general by date:

Previous
From: Andreas Kretschmer
Date:
Subject: Re: Does RAISE EXCEPTION rollback previous commands in a stored function?
Next
From: Steven Xu
Date:
Subject: Custom column ordering