Yuri wrote: > commit of the subsequent unrelated transaction fails with error=5 > (SQLITE_BUSY) if the previous open sqlite3_blob object hasn't been > closed. > > This fails: > > sqlite3_blob_open // table b with rowids unique in db > sqlite3_blob_write // table b > BEGIN > UPDATE // table a > UPDATE // table a > COMMIT // FAILS SQLITE_BUSY!
Please note that a sqlite3_blob_write() call does not behave like a complete SQL statement; it does not auto-commit what it has written. I don't know why the BEGIN doesn't complain that there already is an active transaction, but there is no unrelated transaction. The sqlite3_blob_close() documentation implies that you should do the open/write/close calls inside a transaction, or that all three together comprise an automatic transaction. Regards, Clemens _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users