Simon Slavin wrote: > If the source database is changed while the Online Backup API is > running, it returns to the beginning of the database and starts again.
The backup API must create a consistent snapshot of the source database, i.e., the result must be the exact state at some point in time when no write transaction was active. > 1) Suppose the first page of the source database which is modified is > after the point that the backup has reached. Is it necessary to > restart ? > 2) Suppose the first page of the source database which is modified is > before the point that the backup has reached. Could the backup not > return just to that point rather than to the very beginning ? In the general case, it is not possible to detect which pages have been changed. > ... if the database is changed only by the same connection as it > performing the backup This would require additional code to track changed pages, and a lock to prevent other connections from making changes. If all connections are on the same machine, it should be possible to use WAL mode. You can then do the entire backup in a single step without blocking writers. Regards, Clemens _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users