From: | Istvan Soos <istvan(dot)soos(at)gmail(dot)com> |
---|---|
To: | Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at> |
Cc: | pgsql-general(at)lists(dot)postgresql(dot)org |
Subject: | Re: How to cleanup transaction after statement_timeout aborts a query? |
Date: | 2024-09-08 13:01:51 |
Message-ID: | CALdQGgtteEQYNWhT80gNG3xSsjw+p1xDhFiG-+CUMXR9Gy=wBg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Sun, Sep 8, 2024 at 1:19 PM Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Laurenz Albe | 2024-09-08 13:41:03 | Re: How to cleanup transaction after statement_timeout aborts a query? |
Previous Message | Laurenz Albe | 2024-09-08 11:18:28 | Re: How to cleanup transaction after statement_timeout aborts a query? |