On Tue, 22 Jan 2019 at 12:51, Rahul Jayaraman <rahul.jayara...@hotmail.com> wrote:
> > I think "single writer, multiple readers" is the simplest way to describe > sqlite's approach to isolation > > I’m not sure if this summarization paints enough of a picture about how > SQLite restricts interleaving of read & write operations between concurrent > transactions, to guarantee isolation. For eg, in Rollback journal, a > writing transaction looking to commit blocks other readers (as you > mentioned), but WAL does not. > True, it's not the full story. But both "single writer" and "multiple readers" remain true regardless of the journal mode in use. And the same isolation semantics are provided either way, no? Transactions cannot see any updates which occur after they have begun, and writers are serialised. As you say, the details of how readers and writers interact differ. In rollback mode, a writer trying to COMMIT prevents new readers from starting. And in WAL mode, a long-running reader prevents a CHECKPOINT from proceeding. -Rowan _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users