Statement.getGeneratedKeys() can lead to "database is locked" error
Statement.getGeneratedKeys() internally creates a new PreparedStatement which isn't closed even if the statement on which "getGeneratedKeys()" was called is closed. This leads to hard to track down "database is locked" errors if later a transaction is created and rolled back.
A sample with the bug is attached.
Tested with version 3.7.2 on Windows XP SP3, Java 1.6.0_27-b07