Hello,
I've been pulling my hair out over concurrency problems with SQLite 3. SQLITE_BUSY, SQLITE_SCHEMA, SQLITE_MISUSE, I get them all.
Over the last few weeks, I've been strictly debugging SQLite problems in my application [ http://openconnector.org ]. No program logic besides fixing ( and apparently creating in the process ) SQLite errors.
http://www.sqlite.org/faq.html#q17 , http://www.sqlite.org/lockingv3.html , and http://www.sqlite.org/cvstrac/wiki?p=MultiThreading are good starts but similar do not provide enough ( any? ) real code examples.
Simply, I think it work be a _great_ service to the SQLite user community if someone, or a few people _experienced_ in working with SQLite in a massive multithreaded environment would write a short tutorial with *real code* examples explaining best practices around using SQLite 3 API in a multithreaded environment. Just the basics really.
The tutorial, and its short examples should cover issues like, do we use a do(){...}while() loop or busy handler to handle SQLITE_BUSY? When do you use either? How do we use the different transaction types properly. It could give real code implementation of the pseudo code examples in the concurrency listed above for example.
Basically it should be something of a 'mini-cookbook' still approach at SQLite 3 concurrency.
I'm willing to give up $100 US for a helpful tutorial with sufficient tested real code snipnets. Not asking for something that would take more than a day or day to write. If anyone else thinks this is a good idea and would like to contribution to this bounty that would be great.
- Kervin