Hi,
Could you post a reproducible test case? I can't reproduce the problem
so far. My test case is:
import java.sql.*;
import org.h2.tools.DeleteDbFiles;
public class Test {
public static void main(String[] args) throws Exception {
Class.forName("org.h2.Driver");
DeleteDbFiles.execute("~", "test", true);
Connection conn = DriverManager.getConnection(
"jdbc:h2:~/test", "sa", "sa");
Statement stmt = conn.createStatement();
stmt.execute("create table wordforms(key INT " +
"NOT NULL PRIMARY KEY AUTO_INCREMENT, " +
"key_base INT, name VARCHAR(50), " +
"type VARCHAR(10), isProcessed BOOLEAN)");
PreparedStatement prep = conn.prepareStatement(
"insert into wordforms values(?, ?, space(30)||?, ?, true)");
System.out.println("inserting");
for (int i = 0; i < 1300000; i++) {
if (i % 100000 == 0) {
System.out.println(i);
}
prep.setInt(1, i);
prep.setInt(2, i);
prep.setInt(3, i);
prep.setInt(4, i);
prep.execute();
}
System.out.println("selecting");
ResultSet rs = stmt.executeQuery(
"select key from wordforms");
for (int i = 0; rs.next(); i++) {
if (i % 100000 == 0) {
System.out.println(i);
}
rs.getInt(1);
}
System.out.println("done");
conn.close();
}
}
Regards,
Thomas