I'm reading up on the new write-ahead logging feature, and I'm unclear on one point: does WAL only help alleviate multi-threaded locking (by allowing other threads to continue reading while one is writing), or does WAL also help between multiple processes?
My understanding could be completely wrong, but I think the following statements are true -- can you help fact check me? (I've read http://www.sqlite.org/lockingv3.html but it doesn't seem to have been updated for WAL -- assuming any updates are even needed.) 1) Two processes can read from the same database at the same time. 2) However, one process cannot read from the database while another is writing -- WAL is irrelevant here. 3) One process can have two threads that read from the database from the same time. 4) And thanks to WAL, now one process can have one thread writing and any number of threads reading at the same time. 5) However, WAL does not allow multiple threads to write at the same time. Is this right? Or am I totally off? Are there any good pages outlining the intersection between multi-process database locking and WAL? Thanks! -david _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users