I wrote: > This is very strange, as executeUpdate() is, as you say, synchronized.
Ah, but it isn't! Statement.executeUpdate(String) is not synchronized, so many executing at once can catch the underlying library out of order. I'm a little torn about what to do here. I can't find anything the Javadocs about whether a Statement should be thread-safe, and the normal Java practice is assume something is not. So this is indeed correct behaviour, we should be generating one Statement for each thread. In fact, we should probably be creating a different Connection for each thread, though the SQLiteJDBC Connection is thread safe. The other side to this is "synchronized" has very little overhead in a modern JVM and it would be easy to add. For now, I think I'll leave it as it is, adding the JNIEnv fix. d. --~--~---------~--~----~------------~-------~--~----~ Mailing List: http://groups.google.com/group/sqlitejdbc?hl=en To unsubscribe, send email to [EMAIL PROTECTED] -~----------~----~----~----~------~----~------~--~---
