postgresql-simple icon indicating copy to clipboard operation
postgresql-simple copied to clipboard

Fix spurious aborts when retrying transactions

Open ali-abrar opened this issue 4 years ago • 0 comments

Transactions that enter an error state must be aborted manually by issuing a "ROLLBACK". However, if the transaction error happened during a "COMMIT" then the rollback happens automatically. Issuing a "ROLLBACK" at this point causes PostgreSQL to issue a "WARNING: There is no transaction in progress". This warning can have much worse causes (e.g. you "COMMIT" but never began a transaction). This change makes the transaction retrying logic never cause PostgreSQL to issue this warning making it a more useful warning for detecting real bugs.

ali-abrar avatar Nov 19 '21 18:11 ali-abrar