> (a) an error result of some kind or (b) a corrupt database.
I did not see any info about errmsg.
> Are your processes using the same database connection or does each one
> have its own ?
Two processes have two sqlite3_open(). So each one has its own.
> Are you checking the result codes returned by all the API calls ?
Yes. I use speedtest1.c as model code.
speedtest1_exec("BEGIN");
speedtest1_prepare("INSERT INTO t1 VALUES(?1,?2,?3); -- %d times",
n);
for(i=1; i<=n; i++){
rc = sqlite3_bind_int64(g.pStmt, 1, i);
rc = sqlite3_bind_int(g.pStmt, 2, i);
rc = sqlite3_bind_text(g.pStmt, 3, "hello", -1, SQLITE_STATIC);
speedtest1_run();
}
speedtest1_exec("COMMIT");
And I have checked rc = SQLITE_OK.
> Can you reliably get less than 20000 rows ?
Yes, always less than 20000.
Process A inserts 1-10000 and process B inserts 10001-20000. I found that
the first few rows is missing in the result. I mean there is no 10001-10xxx.
> Does the problem go away if you use threadsafe = 2 ?
The problem is still here.
--
Sent from: http://sqlite.1065341.n5.nabble.com/
_______________________________________________
sqlite-users mailing list
[email protected]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users