Re: procedures and transactions

Поиск
Список
Период
Сортировка
От Rob Nikander
Тема Re: procedures and transactions
Дата
Msg-id 72DE4DF2-7013-4D03-AD28-426BFD1B78A0@gmail.com
обсуждение исходный текст
Ответ на Re: procedures and transactions  ("David G. Johnston" <david.g.johnston@gmail.com>)
Ответы Re: procedures and transactions  (Adrian Klaver <adrian.klaver@aklaver.com>)
Re: procedures and transactions  (Peter Eisentraut <peter.eisentraut@2ndquadrant.com>)
Список pgsql-general
I thought if I had some application logic that needed a certain kind of transaction (maybe a non-default isolation level), I could hide that fact in a procedure. App code (Java/Python/whatever) could remain unaware of transactions (except maybe needing to retry after a failure) and simply send `call foo(?, ?)` to the DB. But maybe that kind of design is not supported, and application code needs to start transactions and set isolation levels. Is that accurate?  I supposed a procedure could throw an exception if it doesn’t like the value in `current_setting('transaction_isolation’)`.

Rob

On Feb 19, 2019, at 2:38 PM, David G. Johnston <david.g.johnston@gmail.com> wrote:

On Tuesday, February 19, 2019, Rob Nikander <rob.nikander@gmail.com> wrote:
 Are procedures not allowed to commit/rollback if they are called within in an outer transaction?


Also, I tried putting a `start transaction` command in the procedure. I got another error: `unsupported transaction command in PL/pgSQL`. Are procedures not allowed to start transactions? Or is there another command?


David J.


В списке pgsql-general по дате отправления:

Предыдущее
От: Samuel Williams
Дата:
Сообщение: Re: Partial index on JSON column
Следующее
От: Adrian Klaver
Дата:
Сообщение: Re: procedures and transactions