Paul wrote: >>>> Please note that *all* accesses to the database file are done with >>>> transactions, including reading and writing the user_version value. > > I suspect that no, not all accesses to the database file are done using > transactions.
Read-only transactions just lock the database file. (But they must take the lock to ensure that no write transaction can happen at the same time.) > Maybe sqlite does not write a byte to disk if inside a transaction > there are only selects? A file lock does not involve any writes (except for the unix-dotfile VFS, but you would know if you were using it). A rollback journal (or write- ahead log) is written only for transactions that make changes. Read <http://www.sqlite.org/atomiccommit.html> to see how this works. Regards, Clemens _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users