Rollback with functions
От | A B |
---|---|
Тема | Rollback with functions |
Дата | |
Msg-id | dbbf25901001220440o79a06ab3mcee8da0f3fb405@mail.gmail.com обсуждение исходный текст |
Ответы |
Re: Rollback with functions
|
Список | pgsql-novice |
Greetings! I have yet not fully understood the magic with transactions in combination with plpgsql functions. Assume I have a function create function foo() begin do stuff .... .... <--- here it fails .... end and a call to the function fails (as indicated in the code), will everything that has been done inside the function be automatically undone (rollbacked)? If I had added code for exceptions, like this create function foo() begin begin do stuff .... .... .... exception when others then .... <--- clean up code end; end Then I would need the "clean up code", or else there would be some changes in the database caused by all the commands that were actually run before the failure, right? So is there then any other reason besides having a way to tell exactly what went wrong (which I understand is a good thing ), to have the "clean up code"? (you might of course need to have more exception statements and add exceptions to the clean up code, and so on...
В списке pgsql-novice по дате отправления: