On Tue, Oct 6, 2015 at 2:57 PM, Clemens Ladisch <clemens at ladisch.de> wrote:
> It backs up to any disk that you can access. > Do you have a network file system? > Well yes, but I'd like to handle it at the application layer. Basically, we operate a custom replication layer atop sqlite. It replicates individual transactions great with 2-phase commit, but right now you need to manually "bootstrap" a new server by copying the database from a different server. I'd like to auto-bootstrap a new node by just starting it, it'd connect to a peer, and then download the entire database. > > how to use this API to do an incremental backup > > This API is not incremental; it always copies the entire database. > Agreed it will copy the entire database, but incrementally -- one bit at a time. Each call to sqlite3_backup_step() backs up a bit more to the target file on disk. My goal is to instead have sqlite3_backup_step() copy some pages to some block of RAM, so I can send that data over the wire and write it to the remote disk. -david