Re: How to cleanup transaction after statement_timeout aborts a query?
От | Istvan Soos |
---|---|
Тема | Re: How to cleanup transaction after statement_timeout aborts a query? |
Дата | |
Msg-id | CALdQGgtteEQYNWhT80gNG3xSsjw+p1xDhFiG-+CUMXR9Gy=wBg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: How to cleanup transaction after statement_timeout aborts a query? (Laurenz Albe <laurenz.albe@cybertec.at>) |
Ответы |
Re: How to cleanup transaction after statement_timeout aborts a query?
|
Список | pgsql-general |
On Sun, Sep 8, 2024 at 1:19 PM Laurenz Albe <laurenz.albe@cybertec.at> wrote: > ROLLBACK and COMMIT are working: they end the transaction. I have this reproduction test, and ROLLBACK does fail: https://github.com/isoos/postgresql-dart/pull/363/files#diff-4547e49b04ec8280fb8f4f1ebf695b77f9a2d9a4ac9bcfd685bcd570a46baa80R122 I've checked and nothing else is sent on the protocol, yet, for the rollback statement it gets the 25P02 error. > It is the atomicity guarantee of database transactions: either all statements > succeed, or all fail. Yeah, I thought so, that's why I'm struggling to see what's missing. > To handle the failure of a statement while allowing the transaction to proceed, > you can use savepoints. But be warned: don't even think of setting a savepoint > before each statement. That would affect statement performance severely. As the writer of the client library, I don't have the luxury of telling users they need to change their way, hence I'm looking for any pointer on the protocol level. Thanks, Istvan
В списке pgsql-general по дате отправления: