private HashMap<String,SqliteTable> tables = new HashMap<String,SqliteTable>();
public static final int REAPER_INTERVAL_SECONDS = 60 * 60;
+ private static final int DAYS = 24 * 60 * 60 * 1000;
+ public static final int REAP_EXPIRATION = 5 * DAYS;
public Connection getConnection() { return conn; }
ps.executeUpdate();
tables.put(name, this);
}
- public void createIndex(String name, String column) throws SQLException {
- PreparedStatement ps = conn.prepareStatement("create index if not exists "+name+" on "+column);
+ public void createIndex(String column) throws SQLException { createIndex(column, column+"_index"); }
+ public void createIndex(String indexName, String column) throws SQLException {
+ PreparedStatement ps = conn.prepareStatement("create index if not exists "+column+" on "+name+" ("+indexName+")");
ps.executeUpdate();
}
protected void reap(String reapColumn) {
try {
Log.warn(Reaper.class, filename + " reaping...");
long when = System.currentTimeMillis();
- when -= 5 * 24 * 60 * 60 * 1000;
+ when -= REAP_EXPIRATION;
synchronized(SqliteDB.this) {
PreparedStatement ps =
conn.prepareStatement("select count(*) from "+reapTable+" where "+reapColumn+"<?");