According to the documentation athttp://www.sqlite.org/c3ref/blob_open.html “ If the row that a BLOB handle points to is modified by an UPDATE, DELETE, or by ON CONFLICT side-effects then the BLOB handle is marked as "expired". This is true if any column of the row is changed, even a column other than the one the BLOB handle is open on. Calls to sqlite3_blob_read() and sqlite3_blob_write() for a expired BLOB handle fail with an return code of SQLITE_ABORT. ” However, it looks that handle can expire when UPDATE is done on the column in the other unrelated to the blob table. Read of the blob would return SQLITE_ABORT “not an error”(?!) and no data is read. Is it a bug, a feature or the expected behaviour? Thanks for your attention. P.S Searching the web I found the following reference: blob incremental i/o constraints by Roger Binns Dec 02, 2007; 02:15am Open a blob for reading. Insert into the same table (not affecting the blob or its row). On calling sqlite3_blob_read, I get SQLITE_ABORT returned and the errmsg is "not an error". This also happens if I do a few reads, and then the insert, on the next read. (This also happens with blobs open for writing and doing read or write after the table is changed).
__________________________________________________________________ Yahoo! Canada Toolbar: Search from anywhere on the web, and bookmark your favourite sites. Download it now http://ca.toolbar.yahoo.com. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users