Search in sources :

Example 1 with Cursor

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();
}
Also used : Cursor(jetbrains.exodus.env.Cursor)

Example 2 with Cursor

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());
}
Also used : Cursor(jetbrains.exodus.env.Cursor) Test(org.junit.Test)

Example 3 with Cursor

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());
}
Also used : Cursor(jetbrains.exodus.env.Cursor) Test(org.junit.Test)

Example 4 with Cursor

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();
}
Also used : Cursor(jetbrains.exodus.env.Cursor) Test(org.junit.Test)

Example 5 with Cursor

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();
}
Also used : Cursor(jetbrains.exodus.env.Cursor) Test(org.junit.Test)

Aggregations

Cursor (jetbrains.exodus.env.Cursor)57 Test (org.junit.Test)46 ByteIterable (jetbrains.exodus.ByteIterable)7 ArrayByteIterable (jetbrains.exodus.ArrayByteIterable)6 NotNull (org.jetbrains.annotations.NotNull)4 Store (jetbrains.exodus.env.Store)3 Transaction (jetbrains.exodus.env.Transaction)3 File (java.io.File)2 TestFor (jetbrains.exodus.TestFor)2 TransactionalExecutable (jetbrains.exodus.env.TransactionalExecutable)2 CyclicBarrier (java.util.concurrent.CyclicBarrier)1 ComparableBinding (jetbrains.exodus.bindings.ComparableBinding)1 Job (jetbrains.exodus.core.execution.Job)1 JobProcessor (jetbrains.exodus.core.execution.JobProcessor)1 BlobsTable (jetbrains.exodus.entitystore.tables.BlobsTable)1 PropertyValue (jetbrains.exodus.entitystore.tables.PropertyValue)1 TreeCursorNoDuplicatesTest (jetbrains.exodus.tree.TreeCursorNoDuplicatesTest)1