Actually, the multiple connections are created from different threads. But
those threads did not access the database in the same moment when the
problem occured, so I assumed (correctly) that the bug happens also when the
connections are done from the same thread. And this is how I created the
script that demonstrated the problem.
Currently the problem is fixed according to the guidelines I got from all of
you. This is how I now step:
Have a prepared statement.
while (true) {
try to step the prepared statement.
If failed to step {
reset the prepared statement to get the correct error.
if the error is not SQLITE_SCHEMA {
deal with the error and break from the loop.
}
if the error is SQLITE_SCHEMA {
finalize the prepared statement.
prepare the statement again.
continue in the loop (so step again with the newly prepared
statement).
}
}
if the step was successful - break from the loop and continue as usuall
after a successful
step.
}
I write it here because I could not find an explanation like this in the
documentation (did I miss it somewhere?). Obviously, if anyone still finds
mistakes above, I will be happy if those mistakes are explained.
In addition, I think it might be helpful for others to add the comment that
sqlite3_errmsg() does not return the correct text till sqlite3_reset() or
sqlite3_finalize() are called.
Thanks again,
Ran
On 5/23/06, John Stanton <[EMAIL PROTECTED]> wrote:
Why do you connect twice to the DB? You then run into synchronization
issues.
JS