Pavel, Thank you so much for your help. Your knowledge is worth more than gold. You were absolutely right regarding not closed blob handle! (for prepare I use only sqlite3_prepare_v2)
I found out that I had one blob handle opened in the unrelated table in the same database. This handle was never used for read or write yet it was holding up all the database incremental writes in the other tables. That was preventing all incremental writes to be committed to the hard drive! This was also locking the whole database preventing any updates by external programs. Very interesting… Thank you very much again, Best regards, Samuel ----- Original Message ---- From: Pavel Ivanov <paiva...@gmail.com> To: General Discussion of SQLite Database <sqlite-users@sqlite.org> Sent: Thu, February 4, 2010 3:54:33 PM Subject: Re: [sqlite] When incremental write is committed to the hard drive? > commit = 1; > pStmt != NULL > but > sql = NULL; //under debugger: pStmt->isPrepareV2 = 0; pStmt->zSql = NULL; So, I was right then that in case of not finished SELECT statement autocommit will still be 1. But as you correctly noticed above isPrepareV2 = 0 and it means that this statement wasn't prepared with sqlite3_prepare_v2 and sql text is never stored in this case. Do you prepare all your statements with sqlite3_prepare_v2? If yes then probably it's statement created by one of sqlite3_blob_open calls which wasn't matched with sqlite3_blob_close then. Check carefully that you close all blob handles. __________________________________________________________________ Be smarter than spam. See how smart SpamGuard is at giving junk email the boot with the All-new Yahoo! Mail. Click on Options in Mail and switch to New Mail today or register for free at http://mail.yahoo.ca _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users