On Tue, Jan 19, 2010 at 07:14:11AM -0800, a1rex scratched on the wall: > So, I coded accordingly. I thought that I could keep the same handle to the > blob forever as long > as I do not touch the row where my blob is located. At least that is my > understanding of the documentation. > > Soon, I discovered that after some updates to other table my > blob handle is no longer valid. The > problem was not consistent; some updates would invalidate the handle some > would > not.
Incremental BLOB I/O handles depend on an internal statement. As I understand it, any operation that invalidates statements will also invalidate all the current BLOB handles. For example, I'm fairly sure changing the schema (any CREATE..., DROP..., etc.) will invalidate all BLOB I/O handles. I haven't verified this, but my (small) understanding of the code makes me believe this is true. As you're aware, there are other reasons a handle can become invalid. I'd turn on tracing so that you have an exact record of all the statements that are executed. When you hit a handle error, start looking through the trace log to see what might be causing it. -j -- Jay A. Kreibich < J A Y @ K R E I B I.C H > "Our opponent is an alien starship packed with atomic bombs. We have a protractor." "I'll go home and see if I can scrounge up a ruler and a piece of string." --from Anathem by Neal Stephenson _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users