Package org.xtreemfs.babudb.api.database

Examples of org.xtreemfs.babudb.api.database.DatabaseInsertGroup


            // create a new database called myDB
            dbm.createDatabase("myDB", 2);
            Database db = dbm.getDatabase("myDB");
           
            // create an insert group for atomic inserts
            DatabaseInsertGroup group = db.createInsertGroup();
           
            // insert one key in each index
            group.addInsert(0, "Key1".getBytes(), "Value1".getBytes());
            group.addInsert(1, "Key2".getBytes(), "Value2".getBytes());
           
            // and execute group insert
            db.insert(group, null).get();
           
            // now do a lookup
View Full Code Here


        test2 = babu1.getDatabaseManager().getDatabase("2");
       
        // make some inserts
        final AtomicInteger notReady = new AtomicInteger(3);
        final Object context0 = new Object();
        DatabaseInsertGroup ig = test0.createInsertGroup();
        ig.addInsert(0, "bla00".getBytes(), "blub00".getBytes());
        ig.addInsert(1, "bla01".getBytes(), "blub01".getBytes());
        ig.addInsert(2, "bla02".getBytes(), "blub02".getBytes());
        test0.insert(ig, context0).registerListener(new DatabaseRequestListener<Object>() {
            @Override
            public void finished(Object result, Object context) {
               
                if (notReady.decrementAndGet() == 0) {
                    synchronized (notReady) {
                        notReady.notify();
                    }
                }
                assertEquals(context0, context);
            }
           
            @Override
            public void failed(BabuDBException error, Object context) {
               
                if (notReady.decrementAndGet() == 0) {
                    synchronized (notReady) {
                        notReady.notify();
                    }
                }
                fail("This should not happen.");
            }
        });
       
        final Object context1 = new Object();
        ig = test1.createInsertGroup();
        ig.addInsert(0, "bla10".getBytes(), "blub10".getBytes());
        ig.addInsert(1, "bla11".getBytes(), "blub11".getBytes());
        ig.addInsert(2, "bla12".getBytes(), "blub12".getBytes());
        test1.insert(ig, context1).registerListener(new DatabaseRequestListener<Object>() {
            @Override
            public void finished(Object result, Object context) {
               
                if (notReady.decrementAndGet() == 0) {
                    synchronized (notReady) {
                        notReady.notify();
                    }
                }
                assertEquals(context1, context);
            }
           
            @Override
            public void failed(BabuDBException error, Object context) {
               
                if (notReady.decrementAndGet() == 0) {
                    synchronized (notReady) {
                        notReady.notify();
                    }
                }
                fail("This should not happen.");
            }
        });
       
        final Object context2 = new Object();
        ig = test2.createInsertGroup();
        ig.addInsert(0, "bla20".getBytes(), "blub20".getBytes());
        ig.addInsert(1, "bla21".getBytes(), "blub21".getBytes());
        ig.addInsert(2, "bla22".getBytes(), "blub22".getBytes());
        test2.insert(ig, context2).registerListener(new DatabaseRequestListener<Object>() {
            @Override
            public void finished(Object result, Object context) {
                if (notReady.decrementAndGet() == 0) {
                    synchronized (notReady) {
View Full Code Here

        Database test2 = babu1.getDatabaseManager().getDatabase("prefixLookup");
       
        // make some inserts on database 'test1'
        final AtomicInteger notReady = new AtomicInteger(2);
        final Object context0 = new Object();
        DatabaseInsertGroup ig = test1.createInsertGroup();
        ig.addInsert(0, "bla0".getBytes(), "blub0".getBytes());
        ig.addInsert(0, "bla1".getBytes(), "blub1".getBytes());
        ig.addInsert(0, "bla2".getBytes(), "blub2".getBytes());
        test1.insert(ig, context0).registerListener(new DatabaseRequestListener<Object>() {
            @Override
            public void finished(Object result, Object context) {
               
                if (notReady.decrementAndGet() == 0) {
                    synchronized (notReady) {
                        notReady.notify();
                    }
                }
                assertEquals(context0, context);
            }
           
            @Override
            public void failed(BabuDBException error, Object context) {
               
                if (notReady.decrementAndGet() == 0) {
                    synchronized (notReady) {
                        notReady.notify();
                    }
                }
                fail("This should not happen.");
            }
        });
       
        final Object context1 = new Object();
        ig = test1.createInsertGroup();
        ig.addInsert(0, "yagga0".getBytes(), "yagga0".getBytes());
        ig.addInsert(0, "yagga1".getBytes(), "yagga1".getBytes());
        ig.addInsert(0, "yagga2".getBytes(), "yagga2".getBytes());
        test1.insert(ig, context1).registerListener(new DatabaseRequestListener<Object>() {
            @Override
            public void finished(Object result, Object context) {
               
                if (notReady.decrementAndGet() == 0) {
View Full Code Here

     */
    @Override
    public DatabaseRequestResult<Object> singleInsert(int indexId, byte[] key,
            byte[] value, Object context) {
       
        DatabaseInsertGroup irg = createInsertGroup();
        irg.addInsert(indexId, key, value);
        return insert(irg, context);
    }
View Full Code Here

       
        database = BabuDBFactory.createBabuDB(new BabuDBConfig(baseDir, baseDir, 0, 0, 0, SyncMode.ASYNC, 0,
            0, COMPRESSION, maxNumRecs, maxBlockFileSize, !MMAP, -1, LOG_LEVEL));
       
        Database db = database.getDatabaseManager().createDatabase("test", 3);
        DatabaseInsertGroup ig = db.createInsertGroup();
        ig.addInsert(0, "Yagga".getBytes(), "Brabbel".getBytes());
        ig.addInsert(1, "Brabbel".getBytes(), "Blupp".getBytes());
        ig.addInsert(2, "Blupp".getBytes(), "Blahh".getBytes());
        db.insert(ig, null).get();
       
        Database db2 = database.getDatabaseManager().createDatabase("test2", 1);
        ig = db2.createInsertGroup();
        ig.addInsert(0, "test".getBytes(), "test".getBytes());
        db2.insert(ig, null).get();
        database.getDatabaseManager().deleteDatabase("test2");
       
        database.shutdown();
       
View Full Code Here

    public void testMultipleIndices() throws Exception {
        database = BabuDBFactory.createBabuDB(new BabuDBConfig(baseDir, baseDir, 1, 0, 0,
            SyncMode.SYNC_WRITE, 0, 0, COMPRESSION, maxNumRecs, maxBlockFileSize, !MMAP, -1, LOG_LEVEL));
        Database db = database.getDatabaseManager().createDatabase("test", 3);
       
        DatabaseInsertGroup ir = db.createInsertGroup();
        ir.addInsert(0, "Key1".getBytes(), "Value1".getBytes());
        ir.addInsert(1, "Key2".getBytes(), "Value2".getBytes());
        ir.addInsert(2, "Key3".getBytes(), "Value3".getBytes());
        db.insert(ir, null).get();
       
        database.getCheckpointer().checkpoint();
        database.shutdown();
       
View Full Code Here

    public void testMultipleIndicesAndCheckpoint() throws Exception {
        database = BabuDBFactory.createBabuDB(new BabuDBConfig(baseDir, baseDir, 1, 0, 0,
            SyncMode.SYNC_WRITE, 0, 0, COMPRESSION, maxNumRecs, maxBlockFileSize, !MMAP, -1, LOG_LEVEL));
        Database db = database.getDatabaseManager().createDatabase("test", 4);
       
        DatabaseInsertGroup ir = db.createInsertGroup();
        ir.addInsert(0, "Key1".getBytes(), "Value1".getBytes());
        ir.addInsert(1, "Key2".getBytes(), "Value2".getBytes());
        ir.addInsert(2, "Key3".getBytes(), "Value3".getBytes());
        db.insert(ir, null).get();
       
        database.getCheckpointer().checkpoint();
       
        byte[] result = db.lookup(0, "Key1".getBytes(), null).get();
        assertNotNull(result);
        String value = new String(result);
        assertEquals(value, "Value1");
       
        result = db.lookup(1, "Key2".getBytes(), null).get();
        assertEquals("Value2", new String(result));
       
        result = db.lookup(2, "Key3".getBytes(), null).get();
        assertEquals("Value3", new String(result));
       
        Iterator<Entry<byte[], byte[]>> iter = db.prefixLookup(3, "Key3".getBytes(), null).get();
        assertFalse(iter.hasNext());
       
        ir = db.createInsertGroup();
        ir.addDelete(0, "Key1".getBytes());
        ir.addInsert(1, "Key2".getBytes(), "Value2.2".getBytes());
        ir.addInsert(2, "Key3".getBytes(), "Value2.3".getBytes());
        db.insert(ir, null).get();
        database.getCheckpointer().checkpoint();
       
        iter = db.prefixLookup(2, "Key3".getBytes(), null).get();
        assertTrue(iter.hasNext());
View Full Code Here

       
        database = BabuDBFactory.createBabuDB(new BabuDBConfig(baseDir, baseDir, 1, 0, 0,
            SyncMode.SYNC_WRITE, 0, 0, COMPRESSION, maxNumRecs, maxBlockFileSize, !MMAP, -1, LOG_LEVEL));
        Database db = database.getDatabaseManager().createDatabase("test", 3);
       
        DatabaseInsertGroup ir = db.createInsertGroup();
        ir.addInsert(0, "Key1".getBytes(), "Value1".getBytes());
        ir.addInsert(1, "Key2".getBytes(), "Value2".getBytes());
        ir.addInsert(2, "Key3".getBytes(), "Value3".getBytes());
        db.insert(ir, null).get();
       
        UserDefinedLookup lookup = new UserDefinedLookup() {
           
            public Object execute(LSMLookupInterface database) throws BabuDBException {
View Full Code Here

        database = BabuDBFactory.createBabuDB(new BabuDBConfig(baseDir, baseDir, 0, 0, 0, SyncMode.ASYNC, 0,
            50, COMPRESSION, maxNumRecs, maxBlockFileSize, !MMAP, -1, LOG_LEVEL));
        Database db = database.getDatabaseManager().createDatabase("test", 2);
       
        for (int i = 0; i < 100000; i++) {
            DatabaseInsertGroup ir = db.createInsertGroup();
            ir.addInsert(0, (i + "").getBytes(), "bla".getBytes());
            ir.addInsert(1, (i + "").getBytes(), "bla".getBytes());
            db.insert(ir, null).get();
        }
       
        Logging.logMessage(Logging.LEVEL_DEBUG, Category.test, this, BufferPool.getStatus());
       
View Full Code Here

        database = BabuDBFactory.createBabuDB(new BabuDBConfig(baseDir, baseDir, 0, 0, 0, SyncMode.ASYNC, 0,
            0, COMPRESSION, maxNumRecs, maxBlockFileSize, !MMAP, -1, LOG_LEVEL));
        Database db = database.getDatabaseManager().createDatabase("test", 3);
       
        for (int i = 0; i < 1000; i++) {
            DatabaseInsertGroup ir = db.createInsertGroup();
            ir.addInsert(0, (i + "").getBytes(), "bla".getBytes());
            ir.addInsert(1, (i + "").getBytes(), "bla".getBytes());
            ir.addInsert(2, (i + "").getBytes(), "bla".getBytes());
            db.insert(ir, null).get();
        }
       
        byte[] data = new byte[2048];
        for (int i = 0; i < 1000; i++) {
            DatabaseInsertGroup ir = db.createInsertGroup();
            ir.addInsert(0, (i + "").getBytes(), data);
            ir.addInsert(1, (i + "").getBytes(), data);
            ir.addInsert(2, (i + "").getBytes(), data);
            db.insert(ir, null).get();
        }
       
        database.getCheckpointer().checkpoint();
       
        for (int i = 0; i < 1000; i++) {
           
            byte[] v0 = db.lookup(0, (i + "").getBytes(), null).get();
            byte[] v1 = db.lookup(1, (i + "").getBytes(), null).get();
            byte[] v2 = db.lookup(2, (i + "").getBytes(), null).get();
           
            assertNotNull(v0);
            assertNotNull(v1);
            assertNotNull(v2);
        }
       
        for (int i = 0; i < 1000; i++) {
            DatabaseInsertGroup ir = db.createInsertGroup();
            ir.addDelete(0, (i + "").getBytes());
            ir.addDelete(1, (i + "").getBytes());
            ir.addDelete(2, (i + "").getBytes());
            db.insert(ir, null).get();
        }
       
        for (int i = 0; i < 1000; i++) {
           
View Full Code Here

TOP

Related Classes of org.xtreemfs.babudb.api.database.DatabaseInsertGroup

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.