>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