On 10 Dec 2014, at 07:35, Dan Kennedy wrote: > Strictly speaking the database file may not be well-formed even if there is > no ongoing checkpoint. If: > > a) process A opens a read transaction, > b) process B opens and commits a write transaction to the database, > c) process C checkpoints the db, > > then the db file considered without the *-wal file may be corrupt. The > problem comes about because process C can only checkpoint frames up until the > start of B's transaction. And there is an optimization that will prevent it > from copying any earlier frames for which there exists a frame in B's > transaction that corresponds to the same database page. So it effectively > copis only a subset of the modifications made by earlier transactions into > the db file - not necessarily creating a valid db file.
Can this corruption be detected by running PRAGMA quick_check / integrity_check? Having the occasional backup db corrupted would be tolerable. Regards Nick _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users