Wow, great improvement, thanks!
The "tutorial-transactions" opens a new question that might be useful to
know: when a transaction enters the aborted state at an early point in
time (as has now become clear), does this mean it will also relinquish
any locks and predicate locks early, or will it still hold onto those
until explicitly rolled back by command?
_Mark
*From:* David G. Johnston <david.g.johns...@gmail.com>
*Sent:* Wednesday, May 28, 2025 at 4:04 PM UTC+2
*To:* Laurenz Albe <laurenz.a...@cybertec.at>
*Cc:* m...@makr.zone <m...@makr.zone>, pgsql-docs@lists.postgresql.org
<pgsql-docs@lists.postgresql.org>
*Subject:* RE: Documentation should state what happens, when a commit fails
On Wednesday, May 28, 2025, Laurenz Albe <laurenz.a...@cybertec.at> wrote:
On Wed, 2025-05-28 at 08:08 +0000, PG Doc comments form wrote:
> The following documentation comment has been logged on the website:
>
> Page: https://www.postgresql.org/docs/17/sql-commit.html
<https://www.postgresql.org/docs/17/sql-commit.html>
> Description:
>
> Deferrable constraints, deadlocks and possibly other deferred or
lazily
> evaluated rules are checked upon commit.
> What happens if they are not met and the commit statement fails?
Does the
> transaction then implicitly rollback? Or do I need an explicit
rollback?
I think it would be good to mention that a failed COMMIT automatically
performs a ROLLBACK. Do you want to suggest a patch?
Feel free to review mine for this topic and suggest additions.
https://commitfest.postgresql.org/patch/5546/
David J.