SQLite Forum

Sqlite connections isolated even after COMMIT
Login
I'm using journal_mode WAL, synchronous NORMAL and wal_autocheckpoint 0 (with manual checkpoints from time to time)

I have one connection reserved for writers and then one connection for each thread which I use to read.

When I do an INSERT OR REPLACE using the write connection, I can see the inserted value with a SELECT with that writer connection, but if I try the same SELECT from a reader connection, I see no value or an outdated value.

According to https://sqlite.org/isolation.html I should see the value from all connections because it is committed (the INSERT OR REPLACE is automatically wrapped in a transaction. It also doesn't work if I wrap it in an explicit BEGIN EXCLUSIVE transaction)

What is the problem here? How can I fix it?

(My program is written in Rust using the rusqlite library)