On Fri, Aug 04, 2017 at 01:59:07PM -0500, Nico Williams wrote: > The checkpoint process would look like this: > > - make a new file in the same directory > - copy the DB to the new file
The copy would basically be copying all the live data as a single transaction on the new DB/WAL file. At the end there should be at most two transactions in the file: one for the schema, one for the data. > - rename the new file into place > - write the "closed, renamed" marker into the old file (which is still > open) > > This works on POSIX, and if you use the right CreateFileEx() options, it > works on WIN32. I'm referring here to readers that have the first file open... continuing to be able to read from it as long as they retain the open file handle, even after that file is deleted by the rename. _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users