Am 2012-09-05 18:53, schrieb esum:
Thank you so much for all help. I really appreciate it.
/"All the same, I'm guessing that
http://www.sqlite.org/src/info/39f763bfc0will fix your problem."/
I gave this new src code from the src tree a shot, but I seem to be
getting
the same behavior.
Interestingly though, I tried enforcing my own serialization of the
execution of the insert operations being called from the different
threads
with a mutex such that the code that performs the inserts is called
sequentially from each thread, and this seemed to fix things. I did
not see
any duplicate sql statements. (This is with the sqlite src provided
in the
link compiled with the --enable-threadsafe and
--enable-cross-thread-connections which I assume sets the threading
mode to
serialized).
It is not mentioned by the docs that your trace callback will be called
encapsulated by a mutex - In other words: Are you sure that your
trace callback is threadsafe ? I can recall strange effects when doing
"fprintf(stderr, ..." from different threads concurrently.
Just a guess.. though.
Marcus
This leads me to believe that it has to do with contention/blocking
within
sqlite as Simon explains:
/"What I am guessing is happening is that sometimes sqlite3_trace()
is
called, but is eventually held up because of access contention, a
situation
where it can't go ahead because the database is locked. Eventually
the
database becomes free again and this thread can go ahead, at which
point
_trace() gets called again."/
I also tried using the sqlite_profile( ) function, but this seems to
not
keep the bound parameter values in the const char* sql statement
text, and
this also replicated statements (I could tell because an incorrect
number of
INSERTS were printed).
I greatly appreciate any other thoughts on what my problem could be.
--
View this message in context:
http://sqlite.1065341.n5.nabble.com/sqlite3-trace-threadsafe-tp64004p64030.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