use of jetbrains.exodus.env.Cursor in project xodus by JetBrains.
the class CursorTestBase method check.
protected void check(ITree tm, GetPrev r) {
Cursor c = tm.openCursor();
for (int i = 0; i < s; i++) {
assertEquals(true, r.p(c));
assertEquals(c.getValue(), value("v" + (s - i - 1)));
assertEquals(c.getKey(), key(s - i - 1));
}
assertEquals(false, r.p(c));
c.close();
}
use of jetbrains.exodus.env.Cursor in project xodus by JetBrains.
the class TreeCursorConcurrentModificationTest method testConcurrentDeleteCurrent.
@Test
public void testConcurrentDeleteCurrent() {
Cursor c = tm.openCursor();
c.getSearchKey(key(2));
deleteImpl(key(2));
assertTrue(c.getNext());
assertEquals(key(3), c.getKey());
}
use of jetbrains.exodus.env.Cursor in project xodus by JetBrains.
the class TreeCursorConcurrentModificationTest method testConcurrentDeleteAfter.
@Test
public void testConcurrentDeleteAfter() {
Cursor c = tm.openCursor();
c.getSearchKey(key(2));
deleteImpl(key(3));
assertTrue(c.getNext());
assertEquals(key(4), c.getKey());
}
use of jetbrains.exodus.env.Cursor in project xodus by JetBrains.
the class TreeCursorDuplicatesTest method testGetSearchKeyRange3.
@Test
public void testGetSearchKeyRange3() throws IOException {
tm = createMutableTree(true, 1);
getTreeMutable().put(kv(1, "v1"));
getTreeMutable().put(kv(2, "v2"));
getTreeMutable().put(kv(3, "v3"));
getTreeMutable().put(kv(5, "v51"));
getTreeMutable().put(kv(5, "v52"));
getTreeMutable().put(kv(5, "v53"));
getTreeMutable().put(kv(7, "v7"));
getTreeMutable().put(kv(8, "v8"));
// assertMatches(getTreeMutable(), IP(BP(3), BP(3)));
final TreeAwareRunnable getSearchKeyRange = new TreeAwareRunnable(getTreeMutable()) {
@Override
public void run() {
Cursor c = _t.openCursor();
assertEquals(value("v51"), c.getSearchKeyRange(key(4)));
assertEquals(key(5), c.getKey());
}
};
getSearchKeyRange.run();
long a = saveTree();
getSearchKeyRange.run();
reopen();
getSearchKeyRange.setTree(openTree(a, true));
getSearchKeyRange.run();
}
use of jetbrains.exodus.env.Cursor in project xodus by JetBrains.
the class TreeCursorDuplicatesTest method testGetNextDup.
@Test
public void testGetNextDup() throws IOException {
final TreeAwareRunnable getNextDup = new TreeAwareRunnable(getTreeMutable()) {
@Override
public void run() {
Cursor c = _t.openCursor();
assertEquals(value("v1"), c.getSearchKey(key(1)));
assertFalse(c.getNextDup());
// 51
c.getSearchKey(key(5));
// 52
assertTrue(c.getNextDup());
// 53
assertTrue(c.getNextDup());
assertFalse(c.getNextDup());
c.getSearchKey(key(12));
assertFalse(c.getNextDup());
}
};
getNextDup.run();
long a = saveTree();
getNextDup.run();
reopen();
getNextDup.setTree(openTree(a, true));
getNextDup.run();
}
Aggregations