use of org.h2.mvstore.db.MVTableEngine.Store in project h2database by h2database.
the class TestMVStore method testVolatileMap.
private void testVolatileMap() {
String fileName = getBaseDir() + "/" + getTestName();
FileUtils.delete(fileName);
MVStore store = new MVStore.Builder().fileName(fileName).open();
MVMap<String, String> map = store.openMap("test");
assertFalse(map.isVolatile());
map.setVolatile(true);
assertTrue(map.isVolatile());
map.put("1", "Hello");
assertEquals("Hello", map.get("1"));
assertEquals(1, map.size());
store.close();
store = new MVStore.Builder().fileName(fileName).open();
assertTrue(store.hasMap("test"));
map = store.openMap("test");
assertEquals(0, map.size());
store.close();
}
use of org.h2.mvstore.db.MVTableEngine.Store in project h2database by h2database.
the class TestMVStore method testRemoveMapRollback.
private void testRemoveMapRollback() {
MVStore store = new MVStore.Builder().open();
MVMap<String, String> map = store.openMap("test");
map.put("1", "Hello");
store.commit();
store.removeMap(map);
store.rollback();
assertTrue(store.hasMap("test"));
map = store.openMap("test");
// TODO the data should get back alive
assertNull(map.get("1"));
store.close();
String fileName = getBaseDir() + "/" + getTestName();
FileUtils.delete(fileName);
store = new MVStore.Builder().autoCommitDisabled().fileName(fileName).open();
map = store.openMap("test");
map.put("1", "Hello");
store.commit();
store.removeMap(map);
store.rollback();
assertTrue(store.hasMap("test"));
map = store.openMap("test");
// the data will get back alive
assertEquals("Hello", map.get("1"));
store.close();
}
use of org.h2.mvstore.db.MVTableEngine.Store in project h2database by h2database.
the class TestMVStore method testCompressEmptyPage.
private void testCompressEmptyPage() {
String fileName = getBaseDir() + "/" + getTestName();
FileUtils.delete(fileName);
MVStore store = new MVStore.Builder().cacheSize(100).fileName(fileName).compress().autoCommitBufferSize(10 * 1024).open();
MVMap<String, String> map = store.openMap("test");
store.removeMap(map);
store.commit();
store.close();
store = new MVStore.Builder().compress().open();
store.close();
}
use of org.h2.mvstore.db.MVTableEngine.Store in project h2database by h2database.
the class TestMVStore method testLargerThan2G.
private void testLargerThan2G() {
if (!config.big) {
return;
}
String fileName = getBaseDir() + "/" + getTestName();
FileUtils.delete(fileName);
MVStore store = new MVStore.Builder().cacheSize(16).fileName(fileName).open();
try {
MVMap<Integer, String> map = store.openMap("test");
long last = System.nanoTime();
String data = new String(new char[2500]).replace((char) 0, 'x');
for (int i = 0; ; i++) {
map.put(i, data);
if (i % 10000 == 0) {
store.commit();
long time = System.nanoTime();
if (time - last > TimeUnit.SECONDS.toNanos(2)) {
long mb = store.getFileStore().size() / 1024 / 1024;
trace(mb + "/4500");
if (mb > 4500) {
break;
}
last = time;
}
}
}
store.commit();
store.close();
} finally {
store.closeImmediately();
}
FileUtils.delete(fileName);
}
use of org.h2.mvstore.db.MVTableEngine.Store in project h2database by h2database.
the class TestMVStore method testExample.
private void testExample() {
String fileName = getBaseDir() + "/" + getTestName();
FileUtils.delete(fileName);
// open the store (in-memory if fileName is null)
MVStore s = MVStore.open(fileName);
// create/get the map named "data"
MVMap<Integer, String> map = s.openMap("data");
// add and read some data
map.put(1, "Hello World");
// System.out.println(map.get(1));
// close the store (this will persist changes)
s.close();
s = MVStore.open(fileName);
map = s.openMap("data");
assertEquals("Hello World", map.get(1));
s.close();
}
Aggregations