Hi Pavel, Since we are at the last stage to release the project, is it safe to replace with the latest sqlite version without our QA's full testing of the application's function? I knew there are many improvement in the latest version. :-). So for a temp solution, I will open the database again if the application detect there is a SQLITE_MISUSE, is this solution safe enough?
Thanks, Tim Pavel Ivanov-2 wrote: > >> I am now using SQLite version 3.3.5, and i cannot find flag >> SQLITE3_THREADSAFE in source code, so my question is how can i ensure i >> compile with this option? > > Probably there was no such flag in that version yet (I don't know > enough about it). Why don't you use the latest version? > >> The second question is when i met SQLITE_MISUSE error, can i reset or >> reopen >> the database to avoid this error? > > You cannot reset database connection, but you can close it (probably > finalizing all statements before that using > http://www.sqlite.org/c3ref/next_stmt.html if it exist in 3.3.5) and > open it again. > > > Pavel > > On Sun, Jan 10, 2010 at 12:27 AM, tim shen wrote: >> >> hi Pavel, >> Thanks for your reply and reminder. >> I am now using SQLite version 3.3.5, and i cannot find flag >> SQLITE3_THREADSAFE in source code, so my question is how can i ensure i >> compile with this option? >> >> The second question is when i met SQLITE_MISUSE error, can i reset or >> reopen >> the database to avoid this error? >> >> Regards, >> Tim >> >> >> Pavel Ivanov-2 wrote: >>> >>> Oh, and one more thing: sqlite-dev list is for questions related to >>> developing SQLite itself. For problems with using SQLite you should >>> write to sqlite-users list (put in CC). >>> >>> Pavel >>> >>> On Fri, Jan 8, 2010 at 7:50 AM, Pavel Ivanov wrote: >>>> As you're new to SQLite you could easily make some incorrect usages of >>>> SQLite's API. But we won't be able to say to you exactly what is >>>> incorrect until we don't see the actual code. So please show it to us. >>>> Incidentally exact value of SQLITE3_THREADSAFE (0, 1 or 2) during >>>> compilation is also important as well as any other flags you use. >>>> >>>> And just out of curiosity: how did you check that the reason "using >>>> sqlite_close or calling sqlite_exec with the same database pointer >>>> simultaneously from two separate threads" is not applied to you if as >>>> you said in the application "you saved this handle as global variable, >>>> then in other threads you use it"? >>>> >>>> >>>> Pavel >>>> >>>> On Fri, Jan 8, 2010 at 3:42 AM, Tim Shen wrote: >>>>> Hi All, >>>>> >>>>> I am new to SQLite and recently I took over a new project which >>>>> using >>>>> SQLite DB under WinCE. We build the SQlite.dll using flag >>>>> SQLITE3_THREADSAFE, and used Multi-Thread programming in the >>>>> application. >>>>> The problem is that in some operations, function call sqlite3_exec() >>>>> will >>>>> throw out error SQLITE_MISUSE. >>>>> I call the sqlite3_open16() and sqlite3_close() in main thread and >>>>> saved >>>>> this handle as global variable. Then in other threads, I will use this >>>>> global variable to call other sqlite3 function such as >>>>> sqlite3_exec(),sqlite3_get_table(),sqlite3_free_table(). >>>>> I searched on the sqlite3 site, and got the following information >>>>> >>>>> SQLITE_MISUSE >>>>> This error might occur if one or more of the SQLite API routines is >>>>> used >>>>> incorrectly. Examples of incorrect usage include calling sqlite_exec >>>>> after >>>>> the database has been closed using sqlite_close or calling sqlite_exec >>>>> with >>>>> the same database pointer simultaneously from two separate threads. >>>>> >>>>> I checked above 2 possible reason may caused this error and make sure >>>>> it >>>>> is >>>>> not caused by them. Any other advise you guys can give it to me? >>>>> Thanks >>>>> in >>>>> advance. >>>>> >>>>> Regards, >>>>> Tim >>>>> >>>>> _______________________________________________ >>>>> sqlite-dev mailing list >>>>> sqlite-...@sqlite.org >>>>> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev >>>>> >>>> >>> _______________________________________________ >>> sqlite-users mailing list >>> sqlite-users@sqlite.org >>> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users >>> >>> >> >> -- >> View this message in context: >> http://old.nabble.com/Re%3A--sqlite-dev--Why-I-always-got-error-SQLITE_MISUSE-21--*-Library-used-incorrectly-*--tp27075467p27095772.html >> Sent from the SQLite mailing list archive at Nabble.com. >> >> _______________________________________________ >> sqlite-users mailing list >> sqlite-users@sqlite.org >> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users >> > _______________________________________________ > sqlite-users mailing list > sqlite-users@sqlite.org > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > > -- View this message in context: http://old.nabble.com/Re%3A--sqlite-dev--Why-I-always-got-error-SQLITE_MISUSE-21--*-Library-used-incorrectly-*--tp27075467p27110812.html Sent from the SQLite mailing list archive at Nabble.com. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users