On 26 Jun 2013, at 8:08am, Woody Wu <narkewo...@gmail.com> 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
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to