Hi, I see something in the second backup example ( http://www.sqlite.org/backup.html ) that seems like logical error to me.
if( rc==SQLITE_OK || rc==SQLITE_BUSY || rc==SQLITE_LOCKED ){
sqlite3_sleep <http://www.sqlite.org/c3ref/sleep.html>(250);
}
Why should we sleep 250 milliseconds if sqlite result is OK? Shouldn't
we wait only if database is busy or locked?

