On 03/05/2017 10:19, Clemens Ladisch wrote:
or change the row IDs so that they are unique in the entire database.


Thanks for your suggestion. I followed it, and made rowids unique in the table b with a blob field.

But I've ran into another problem: 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!


This succeeds:

sqlite3_blob_open // table b

sqlite3_blob_write // table b

sqlite3_blob_close // table b

BEGIN

UPDATE // table a

UPDATE // table a


COMMIT // SUCCEEDS


Unique rowids were supposed to make blobs independent of updates in other tables, but it appears that there is still some dependency.

I am not sure if this is the same bug, or another bug.


Yuri


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

Reply via email to