limbo/bindings
Jussi Saurio def135dab2 fix/core: use CAS to protect against concurrent TX state changes
Concurrent use a of a connection across multiple threads is not supported,
but we should not crash even if a client attempts to do so.

We do crash when this happens. See: https://github.com/tursodatabase/turso/issues/3911

The proper behavior is to return Busy if the same connection is already doing
transactional work on another thread.

To ensure the above, this PR implements Connection::atomic_swap_tx_state() which
uses CAS instead of simply setting the state.

This PR also adds a regression test modeled after the reproduction in #3911 that
only accepts `"database is locked"` errors and panics on anything else.
2025-12-18 12:50:20 +02:00
..
dart chore: remove experimental_indexes feature flags 2025-12-08 13:00:37 +02:00
dotnet Cargo clippy 2025-12-03 13:21:45 +04:00
go Merge 'update go mod name as we will serve module through custom proxy' from Nikita Sivukhin 2025-12-17 10:51:34 +04:00
java Turso 0.4.0-pre.17 2025-12-17 10:18:19 +02:00
javascript fix another bug 🤦 2025-12-17 15:54:05 +04:00
python rename speculative load to prefetch (docs already uses this terminology) 2025-12-16 13:59:39 +04:00
rust fix/core: use CAS to protect against concurrent TX state changes 2025-12-18 12:50:20 +02:00