I've finally implemented the backup API and it works like a charm except on an important point. The example given on the site clearly says:
"If another thread writes to database connection pDb while this function is sleeping, then the backup database (database connection pFile) is automatically updated along with pDb. The backup process is continued after the xSleep() call returns as if nothing had happened. If the database file underlying connection pDb is written to by a different process or thread using a different database connection while this function is sleeping, then SQLite detects this within the next call made to sqlite3_backup_step() and restarts the backup from the beginning." My experiments show beyond doubt that even when the writes to the source db occur using the same (pDb) connection, then the next backup_step always restarts the backup from the beginning. Contrary to what is documented above, the backup connection is _not_ currently transparently updated (as per standard Windows dll build v3.6.22 downloaded from the site). It makes backups much more prone to endless restart in case of periodic modifications. Is this documentation anticipation for a next-to-come feature or a genuine bug? _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users