> > sqlite3_busy_timeout(db, 0x70000000) > If you want to turn timeouts off, specify zero or a negative number.
My understanding is that timeouts off means the functions immediately return BUSY. I don't want timeouts off, I want them set to infinity, so the functions never in my lifetime return BUSY. 0x70000000 is a safe value for infinity, which I think is pretty clear to any programmer who knows C integer widths and hex numbers. > sqlite3_exec(db, "PRAGMA PRAGMA wal_autocheckpoint = 0;", NULL, NULL, NULL) > Is "PRAGMA PRAGMA" a copy/paste error ? Yes, PRAGMA PRAGMA is a copy-and-paste error. > Given how specific you are about your configuring I am surprised you don't > declare PRAGMA threads = N Yes, I could have done PRAGMA threads = 0. That is however the default so I didn't bother. > Are each of your threads using their own handles or do they all share the > same handle ? Every thread has its own sqlite3 handle and its own set of sqlite3_stmt handles. As I said, it works perfectly as long as I don't have a writer at the same time I do a SQLITE_CHECKPOINT_PASSIVE. _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users