package org.apache.jdbm;
import java.io.IOException;
import java.util.Map;
public class CompactTest extends TestCaseWithTestFile {
final int MAX = 1000 * 1000;
public void testHashCompaction() throws IOException{
String f = newTestFile();
DB db0 = DBMaker.openFile(f).disableTransactions().make();
Map<String,String> db = db0.createHashMap("db");
System.out.println("Adding");
for( int i=0 ; i < MAX; i++) {
db.put("key"+i, "value"+i);
}
db0.close();
db0 = DBMaker.openFile(f).disableTransactions().make();
db = db0.getHashMap("db");
System.out.println("Deleting");
for( int i=0 ; i < MAX; i++) {
db.remove("key"+i);
}
db0.close();
db0 = DBMaker.openFile(f).disableTransactions().make();
db = db0.getHashMap("db");
System.out.println("Adding");
for( int i=0 ; i < MAX; i++) {
db.put("key"+i, "value"+i);
}
System.out.println("Closing");
db0.close();
}
public void testBTreeCompaction() throws IOException{
String f = newTestFile();
DB db0 = DBMaker.openFile(f).disableTransactions().make();
Map<String,String> db = db0.createTreeMap("db");
System.out.println("Adding");
for( int i=0 ; i < MAX; i++) {
db.put("key"+i, "value"+i);
}
db0.close();
db0 = DBMaker.openFile(f).disableTransactions().make();
db = db0.getTreeMap("db");
System.out.println("Deleting");
for( int i=0 ; i < MAX; i++) {
db.remove("key"+i);
}
db0.close();
db0 = DBMaker.openFile(f).disableTransactions().make();
db = db0.getTreeMap("db");
System.out.println("Adding");
for( int i=0 ; i < MAX; i++) {
db.put("key"+i, "value"+i);
}
System.out.println("Closing");
db0.close();
}
}