>Since I run all of these statements withing transactions (between
>"BEGIN" statements and "COMMIT" / "ROLLBACK" statements"), my
>expectation is that SQLITE_BUSY will only ever be returned for
>the leading "BEGIN" statement.

SQLITE_BUSY may be returned, for example, if the transaction is attempted to be 
upgraded from a read transaction into a write transaction, and an update lock 
cannot be obtained.

"BEGIN" only begins a read transaction.  "BEGIN IMMEDIATE" begins a transaction 
and obtains update locks immediately.

What the documentation is saying however is a word to the wise:  Always check 
your return codes, and always deal with every situation that you can foresee.  
If a situation arises for which you are not prepared then die -- as 
expeditiously and as noisily as possible.





_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to