Package jdbm

Examples of jdbm.RecordManager


     */

    public void testUpdates() throws Exception {

        RecordManager recman;



        long[] rowids = makeRows();



        recman = RecordManagerFactory.createRecordManager( TestRecordFile.testFileName );



        int updates = 0;

        long start = System.currentTimeMillis();

        try {



            long stop = 0;

            while (true) {



                recman.update(rowids[rnd.nextInt(RECORDS)],

                           TestUtil.makeRecord(rnd.nextInt(MAXSIZE),

                                               (byte) rnd.nextInt()));

                updates++;

                if ((updates % 25) == 0) {

                    stop = System.currentTimeMillis();

                    if (stop - start >= 60000)

                        break;

                }

            }

            recman.close();

            System.out.println("Updates: " + updates + " in "

                               + (stop - start) + " millisecs");

View Full Code Here


     */

    public void testDeletes() throws Exception {

        RecordManager recman;



        long[] rowids = makeRows();



        recman = RecordManagerFactory.createRecordManager( TestRecordFile.testFileName );



        int deletes = 0;

        long start = System.currentTimeMillis();

        try {



            long stop = 0;

            // This can be done better...

            for (int i = 0; i < RECORDS; i++) {

                recman.delete(rowids[i]);

                deletes++;

                if ((deletes % 25) == 0) {

                    stop = System.currentTimeMillis();

                    if (stop - start >= 60000)

                        break;

                }

            }

            recman.close();

            System.out.println("Deletes: " + deletes + " in "

                               + (stop - start) + " millisecs");

View Full Code Here

        throws IOException

    {

        RecordManager  recman;

        BTree          btree;

        int            iterations;



        iterations = 100; // 23 works :-(((((



        // open database

        recman = RecordManagerFactory.createRecordManager( TestRecordFile.testFileName );



        // create a new B+Tree data structure

        btree = BTree.createInstance( recman, new StringComparator() );

        recman.setNamedObject( "testbtree", btree.getRecid() );



        // action:



        // insert data

        for( int count = 0; count < iterations; count++ ) {

            btree.insert( "num" + count, new Integer( count ), true );

        }



        // delete data

        for( int count = 0; count < iterations; count++ ) {

            btree.remove( "num" + count );

        }



        // close database

        recman.close();

        recman = null;

    }
View Full Code Here

    public void insert()
        throws IOException
    {

        BTree    btree;
        RecordManager  recman;
        long           start, finish;
        Properties     props;
       
        props = new Properties();
        recman = RecordManagerFactory.createRecordManager( "TestInsertPref-" + System.currentTimeMillis(),
                                                           props);
        btree = BTree.createInstance( recman, new LongComparator() );
       
        // Note:  One can use specialized serializers for better performance / database size
        // btree = BTree.createInstance( recman, new LongComparator(),
        //                               LongSerializer.INSTANCE, IntegerSerializer.INSTANCE );

        start = System.currentTimeMillis();
        for (int i = 0; i < _numberOfObjects; i++) {
            btree.insert( new Long( i ), new Integer( i ), false );
        }
        recman.commit();
        finish = System.currentTimeMillis();
       
        System.out.println( "It took " + (finish - start) + " ms to insert "
                            + _numberOfObjects +" objects." );
                               
View Full Code Here

    static final int ITERATIONS = 1000000;

    public static void main( String[] args ) {

        RecordManager recman;
        BTree tree = null;

        try {
            recman = RecordManagerFactory.createRecordManager( "test" );
            tree = BTree.createInstance( recman, new LongComparator(), null, null, 32 );

            Hashtable hash = new Hashtable();

            for ( int i=0; i<ITERATIONS; i++) {
                Long random = new Long( random( 0, 64000 ) );

                if ( ( i % 5000 ) == 0 ) {
                    System.out.println( "Iterations=" + i + " Objects=" + tree.size() );
                    recman.commit();
                }
                if ( hash.get( random ) == null ) {
                    //System.out.println( "Insert " + random );
                    hash.put( random, random );
                    tree.insert( random, random, false );
                } else {
                    //System.out.println( "Remove " + random );
                    hash.remove( random );
                    Object removed = (Object) tree.remove( random );
                    if ( ( removed == null ) || ( ! removed.equals( random ) ) ) {
                        throw new IllegalStateException( "Remove expected " + random + " got " + removed );
                    }
                }
                // tree.assertOrdering();
                compare( tree, hash );
            }

            recman.close();
        } catch ( Throwable except ) {
            except.printStackTrace();
        }
    }
View Full Code Here

     */

    public void testBasics() throws IOException {

        RecordManager  recman;

        BTree          tree;

        byte[]         test, test0, test1, test2, test3;

        byte[]         value1, value2;



        test  = "test".getBytes();

        test0 = "test0".getBytes();

        test1 = "test1".getBytes();

        test2 = "test2".getBytes();

        test3 = "test3".getBytes();



        value1 = "value1".getBytes();

        value2 = "value2".getBytes();



        if ( DEBUG ) {

            System.out.println("TestBTree.testBasics");

        }



        recman = RecordManagerFactory.createRecordManager( "test" );

        tree = BTree.createInstance( recman, new ByteArrayComparator() );



        tree.insert( test1, value1, false );

        tree.insert( test2, value2, false );



        byte[] result;

        result = (byte[]) tree.find( test0 );

        if ( result != null ) {

            throw new Error( "Test0 shouldn't be found" );

        }



        result = (byte[]) tree.find( test1 );

        if ( result == null || ByteArrayComparator.compareByteArray( result, value1 ) != 0 ) {

            throw new Error( "Invalid value for test1: " + result );

        }



        result = (byte[]) tree.find( test2 );

        if ( result == null || ByteArrayComparator.compareByteArray( result, value2 ) != 0 ) {

            throw new Error( "Invalid value for test2: " + result );

        }



        result = (byte[]) tree.find( test3 );

        if ( result != null ) {

            throw new Error( "Test3 shouldn't be found" );

        }



        recman.close();

    }
View Full Code Here

     */

    public void testBasics2() throws IOException {

        RecordManager  recman;

        BTree          tree;

        byte[]         test, test0, test1, test2, test3;

        byte[]         value1, value2;



        test  = "test".getBytes();

        test0 = "test0".getBytes();

        test1 = "test1".getBytes();

        test2 = "test2".getBytes();

        test3 = "test3".getBytes();



        value1 = "value1".getBytes();

        value2 = "value2".getBytes();



        if ( DEBUG )

            System.out.println("TestBTree.testBasics2");



        recman = RecordManagerFactory.createRecordManager( "test" );

        tree = BTree.createInstance( recman, new ByteArrayComparator() );



        tree.insert( test1, value1, false);

        tree.insert( test2, value2, false);



        assertEquals( null, tree.find( test0 ) );

        assertEquals( 0, ByteArrayComparator.compareByteArray( value1, (byte[]) tree.find( test1 ) ) );

        assertEquals( 0, ByteArrayComparator.compareByteArray( value2, (byte[]) tree.find( test2 ) ) );

        assertEquals( null, (byte[]) tree.find( test3 ) );



        recman.close();

     }
View Full Code Here

        throws IOException

    {

        RecordManager  recman;

        BTree          tree;

        byte[]         test, test0, test1, test2, test3;

        byte[]         value1, value2;



        test  = "test".getBytes();

        test0 = "test0".getBytes();

        test1 = "test1".getBytes();

        test2 = "test2".getBytes();

        test3 = "test3".getBytes();



        value1 = "value1".getBytes();

        value2 = "value2".getBytes();



        if ( DEBUG )

            System.out.println("TestBTree.testClose");



        recman = RecordManagerFactory.createRecordManager( "test" );

        tree = BTree.createInstance( recman, new ByteArrayComparator() );



        tree.insert( test1, value1, false );

        tree.insert( test2, value2, false );



        assertEquals( null, tree.find( test0 ) );

        assertEquals( 0, ByteArrayComparator.compareByteArray( value1, (byte[]) tree.find( test1 ) ) );

        assertEquals( 0, ByteArrayComparator.compareByteArray( value2, (byte[]) tree.find( test2 ) ) );

        assertEquals( null, (byte[]) tree.find( test3 ) );



        recman.close();



        try {
View Full Code Here

    /**
     *  Basic tests
     */
    public void testIterator() throws IOException {
        Properties props = new Properties();
        RecordManager recman = RecordManagerFactory.createRecordManager( TestRecordFile.testFileName, props );

        HTree testTree = getHtree(recman, "htree");
   
        int total = 10;
        for ( int i = 0; i < total; i++ ) {
            testTree.put( Long.valueOf("" + i), Long.valueOf("" + i) );
        }
        recman.commit();
   
        FastIterator fi = testTree.values();
        Object item;
        int count = 0;
        while( (item = fi.next()) != null ) {
            count++;
        }
        assertEquals( count, total );

        recman.close();
    }
View Full Code Here

        throws IOException

    {

        RecordManager  recman;

        BTree          tree;



        if ( DEBUG )

            System.out.println("TestBTree.testInsert");



        recman = RecordManagerFactory.createRecordManager( "test" );

        tree = BTree.createInstance( recman, new StringComparator() );



        // insert differnt objects and retrieve them

        tree.insert("test1", "value1",false);

        tree.insert("test2","value2",false);

        tree.insert("one", new Integer(1),false);

        tree.insert("two",new Long(2),false);

        tree.insert("myownobject",new TestObject(new Integer(234)),false);



        assertEquals("value2",(String)tree.find("test2"));

        assertEquals("value1",(String)tree.find("test1"));

        assertEquals(new Integer(1),(Integer)tree.find("one"));

        assertEquals(new Long(2),(Long)tree.find("two"));



        // what happens here? must not be replaced, does it return anything?

        // probably yes!

        assertEquals("value1",tree.insert("test1","value11",false));

        assertEquals("value1",tree.find("test1")); // still the old value?

        assertEquals("value1",tree.insert("test1","value11",true));

        assertEquals("value11",tree.find("test1")); // now the new value!



        TestObject expected_obj = new TestObject(new Integer(234));

        TestObject btree_obj = (TestObject)tree.find("myownobject");

        assertEquals(expected_obj, btree_obj);



        recman.close();

    }
View Full Code Here

TOP

Related Classes of jdbm.RecordManager

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.