X-Git-Url: http://git.megacz.com/?p=org.ibex.mail.git;a=blobdiff_plain;f=src%2Forg%2Fibex%2Fmail%2FSqliteDB.java;fp=src%2Forg%2Fibex%2Fmail%2FSqliteDB.java;h=6167eecca06debee9c4e8d09e9877591e802b29f;hp=4b818cebc9b140b8fd891a1d8037a40c7f311e84;hb=3450e48824396ee8cda39aaf0caeb81bb5f09c8d;hpb=dc886ec931da530791b1062ad51e9dbc0a627a87 diff --git a/src/org/ibex/mail/SqliteDB.java b/src/org/ibex/mail/SqliteDB.java index 4b818ce..6167eec 100644 --- a/src/org/ibex/mail/SqliteDB.java +++ b/src/org/ibex/mail/SqliteDB.java @@ -38,18 +38,29 @@ public class SqliteDB { conn.prepareStatement("PRAGMA cache_size="+Math.ceil(kilobytes/1.5)+";").executeUpdate(); } + + public void close(ResultSet rs) { + if (rs==null) return; + try { + rs.close(); + } catch (SQLException s) { + Log.error(ResultSet.class, s); + } + } + public SqliteDB(String filename) { this.filename = filename; try { + Log.error("start", "initializing " + filename); Class.forName("org.sqlite.JDBC"); conn = DriverManager.getConnection("jdbc:sqlite:"+filename); conn.prepareStatement("PRAGMA auto_vacuum = 1").executeUpdate(); - conn.prepareStatement("VACUUM").executeUpdate(); + //conn.prepareStatement("VACUUM").executeUpdate(); // until we have better assurances about locking on network filesystems... conn.prepareStatement("PRAGMA locking_mode = EXCLUSIVE").executeQuery(); - conn.prepareStatement("PRAGMA temp_store = MEMORY").executeUpdate(); + //conn.prepareStatement("PRAGMA temp_store = MEMORY").executeUpdate(); conn.prepareStatement("PRAGMA page_size=4096").executeUpdate(); conn.prepareStatement("PRAGMA cache_size=2000").executeUpdate(); ResultSet rs = conn.prepareStatement("PRAGMA integrity_check").executeQuery(); @@ -57,6 +68,7 @@ public class SqliteDB { String result = rs.getString(1); if (!result.equals("ok")) throw new RuntimeException("PRAGMA integrity_check returned \""+result+"\""); + Log.error(".", "done initializing " + filename); } catch (SQLException e) { throw new RuntimeException(e); } catch (ClassNotFoundException e) { throw new RuntimeException(e); } @@ -124,7 +136,7 @@ public class SqliteDB { } static String streamToString(Stream stream) throws Exception { - // FIXME + // FIXME!!!! This is corrupting line endings!!!! StringBuffer b = new StringBuffer(); for(String s = stream.readln(); s!=null; s=stream.readln()) b.append(s+"\n");