I use 3.8.8.1, source id is 2015-01-20 16:51:25 
f73337e3e289915a76ca96e7a05a1a8d4e890d55

I compile the amalgamation using Visual Studio 2012.



The options I use are:


encoding='UTF-16le';

journal_mode=WAL;

wal_autocheckpoint=20000; // better bulk speed inserts

locking_mode=EXCLUSIVE;

synchronous=NORMAL;



page_size=4096;

cache_size=16384;

auto_vacuum=NONE;

temp_store=MEMORY;

foreign_keys=ON;



I implement nested transactions using checkpoints, with an outer BEGIN 
TRANSACTION.

10 or more threads may have a database connection open, but each uses its own 
sqlite3 connection created via sqlite3_open_v2().
There are typically many readers, but only one writer (BEGIN IMMEDIATE) is used 
explicitly or implicity.



Unfortunately, the database damage seems to happen in rarely used sections of 
the database file so the problem is only detected during the (usually) weekly 
diagnosis runs. I?m waiting for a ticket where the user encounters the damage 
problem and still has all the log files available. Since my application logs 
all non-OK SQLite return codes plus has an error callback, such a log file may 
provide additional info about how and when the damage happened.

Reply via email to