package com.sleepycat.je.util;
public class DbRunAction {
private static final int REMOVEDB=5;
private static void removeAndClean( Environment env, String name) throws DatabaseException {
long a, b, c, d, e, f;
Transaction txn=env.beginTransaction(null,null);
CheckpointConfig force=new CheckpointConfig();
force.setForce(true);
a=System.currentTimeMillis();
env.removeDatabase(txn,name);
b=System.currentTimeMillis();
txn.commit();
c=System.currentTimeMillis();
int cleanedCount=0;
while (env.cleanLog() > 0) {
cleanedCount++;
}
d=System.currentTimeMillis();
System.out.println("cleanedCount=" + cleanedCount);
e=0;
f=0;
if (cleanedCount > 0) {
e=System.currentTimeMillis();
env.checkpoint(force);
f=System.currentTimeMillis();
}
System.out.println("Remove of " + name + " remove: "+ getSecs(a,b)+ " commit: "+ getSecs(b,c)+ " clean: "+ getSecs(c,d)+ " checkpoint: "+ getSecs(e,f));
}
@MethodObject static class DbRunAction_main {
protected void hook842() throws Exception {
if (doAction == REMOVEDB) {
removeAndClean(env,dbName);
}
original();
}
protected void hook843() throws Exception {
if (action.equalsIgnoreCase("removedb")) {
doAction=REMOVEDB;
}
else {
original();
}
}
}
}