mirror of
https://github.com/element-hq/synapse.git
synced 2026-11-04 11:17:51 +00:00
The sync store's transactions (`SyncReader::begin` and `begin_write`), which the Rust sync and sliding sync handlers and the persister's reader use, still sent `BEGIN` on its own and waited for it. As for `WriteTxn`, the `BEGIN` now goes out with the first statement: with its execution when the connection has it cached, otherwise with its prepare. If the `BEGIN` fails, the connection is discarded. A transaction that runs nothing sends neither `BEGIN` nor `COMMIT`. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PVLsNh6akt4ifEizY4D1ta