On 26 Jun 2013, at 8:08am, Woody Wu <[email protected]> wrote: > Thanks for the analyzing. After checked, I found it's the prepare_v2 > statement, previous to the step statement, returned SQLITE_BUSY. That > means, a prepare_v2 can even failure if the statement be preparing is an > operation to an exclusive locked database. Sounds very strange! Is it true?
How, precisely, do you obtain your exclusive lock ? Are you checking the value returned by every SQLite3 call you use to obtain that lock ? Always check the values returned for all the stages: _exec() or all three of _prepare(), _step(), and _finalize(). Whether you’re using assert() or some other mechanism, don’t just assume that, for instance, _finalize() never fails. Simon. _______________________________________________ sqlite-users mailing list [email protected] http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

