Hi,
I have an issue on wich I am since 2 days ...
I post my issue on stack overflow but no responses ... (
http://stackoverflow.com/questions/16072666/fmdb-infinite-loop-due-to-sqlite3-step-and-while-retry)
I set the max retry var to 20 but it can be 99999999, it produce the same effect ...
here is the error and a part of stack trace
----------------------------
-[FMDatabase executeUpdate:error:withArgumentsInArray:orDictionary:orVAList:]:852 Database busy (.../Documents/cityD.sqlite)
2013-04-19 12:00:10.702 CityDom[3288:c07] Database busy
2013-04-19 12:00:10.704 CityDom[3288:c07] (
0 CityDom 0x00059a37 -[FMDatabase executeUpdate:error:withArgumentsInArray:orDictionary:orVAList:] + 3191
1 CityDom 0x0005a02f -[FMDatabase executeUpdate:] + 111
2 CityDom 0x0001d110 -[CDGang saveIntoThisDb:] + 688
----------------------------
I don't understand how my database can be busy ...
- All my threads are finished and I'm on main thread,
- I close every opened FMDatabase,
- I close every opened FMResultSet,
- I put my insert and update in transaction,
- I put my concurrent insert and update in "queue inTransaction:" with same path for all
- The open of database return true.
- The
[CDGang saveIntoThisDb:] method work perfectly on another function.
Please anyone can give me response or trail ?
PS : When close database in [queue inTransaction:] ? May I close it in block ? or after block ?