Package jdbm.btree

Examples of jdbm.btree.BTree$EmptyBrowser


                {
                    return;
                }
                if ( set.size() > numDupLimit )
                {
                    BTree tree = convertToBTree( set );
                    BTreeRedirect redirect = new BTreeRedirect( tree.getRecid() );
                    bt.insert( key, BTreeRedirectMarshaller.INSTANCE.serialize( redirect ), true );
                   
                    if ( LOG.isDebugEnabled() )
                    {
                        LOG.debug( "<--- Add new BTREE {} = {}", name, key );
                    }
                }
                else
                {
                    bt.insert( key, marshaller.serialize( set ), true );
                   
                    if ( LOG.isDebugEnabled() )
                    {
                        LOG.debug( "<--- Add AVL {} = {}", name, key );
                    }
                }
   
                count++;
                return;
            }
           
            BTree tree = getBTree( values.getBTreeRedirect() );
            replaced = ( V ) tree.insert( value, StringTools.EMPTY_BYTES, true );
           
            if ( replaced == null )
            {
                count++;
            }
View Full Code Here


   
                return;
            }
   
            // if the number of duplicates falls below the numDupLimit value
            BTree tree = getBTree( values.getBTreeRedirect() );
           
            if ( tree.find( value ) != null )
            {
                if ( tree.remove( value ) != null )
                {
                    /*
                     * If we drop below the duplicate limit then we revert from using
                     * a Jdbm BTree to using an in memory AvlTree.
                     */
                    if ( tree.size() <= numDupLimit )
                    {
                        ArrayTree<V> avlTree = convertToArrayTree( tree );
                        bt.insert( key, marshaller.serialize( avlTree ), true );
                        recMan.delete( tree.getRecid() );
                    }
                   
                    count--;
                   
                    if ( LOG.isDebugEnabled() )
View Full Code Here

   
            byte[] serialized = ( byte[] ) returned;
   
            if ( BTreeRedirectMarshaller.isRedirect( serialized ) )
            {
                BTree tree = getBTree( BTreeRedirectMarshaller.INSTANCE.deserialize( serialized ) );
                this.count -= tree.size();
               
                if ( LOG.isDebugEnabled() )
                {
                    LOG.debug( "<--- Remove BTree {} = {}", name, key );
                }
View Full Code Here

        byte[] serialized = ( byte[] ) raw;
       
        if ( BTreeRedirectMarshaller.isRedirect( serialized ) )
        {
            BTree tree = getBTree( BTreeRedirectMarshaller.INSTANCE.deserialize( serialized ) );
            return new KeyTupleBTreeCursor<K,V>( tree, key, valueComparator );
        }

        ArrayTree<V> set = marshaller.deserialize( serialized );
        return new KeyTupleArrayCursor<K,V>( set, key );
View Full Code Here

        }

        byte[] serialized = ( byte[] ) raw;
        if ( BTreeRedirectMarshaller.isRedirect( serialized ) )
        {
            BTree tree = getBTree( BTreeRedirectMarshaller.INSTANCE.deserialize( serialized ) );
            return new KeyBTreeCursor<V>( tree, valueComparator );
        }

        return new ArrayTreeCursor<V>( marshaller.deserialize( serialized ) );
    }
View Full Code Here

        if ( duplicateBtrees.containsKey( redirect.getRecId() ) )
        {
            return duplicateBtrees.get( redirect.getRecId() );
        }
       
        BTree tree = BTree.load( recMan, redirect.getRecId() );
        duplicateBtrees.put( redirect.getRecId(), tree );
        return tree;
    }
View Full Code Here

    }
   

    private BTree convertToBTree( ArrayTree<V> arrayTree ) throws Exception
    {
        BTree bTree;

        if ( valueSerializer != null )
        {
            bTree = BTree.createInstance( recMan, valueComparator, valueSerializer, null );
        }
        else
        {
            bTree = BTree.createInstance( recMan, valueComparator );
        }

        Cursor<V> keys = new ArrayTreeCursor<V>( arrayTree );
        keys.beforeFirst();
       
        while ( keys.next() )
        {
            bTree.insert( keys.get(), StringTools.EMPTY_BYTES, true );
        }
       
        return bTree;
    }
View Full Code Here

    }


    private BTree getDupsContainer() throws Exception
    {
        BTree tree = table.getBTree();

        DupsContainer<String> values = table.getDupsContainer( ( byte[] ) tree.find( KEY ) );

        return table.getBTree( values.getBTreeRedirect() );
    }
View Full Code Here

            return set.getFirst();
        }

        // Handle values if they are stored in another BTree
        BTree tree = getBTree( values.getBTreeRedirect() );

        jdbm.helper.Tuple tuple = new jdbm.helper.Tuple();
        TupleBrowser<K, V> browser = tree.browse();
        browser.getNext( tuple );
        this.closeBrowser( browser );
        //noinspection unchecked

        return ( V ) tuple.getKey();
View Full Code Here

                    return;
                }

                if ( set.size() > numDupLimit )
                {
                    BTree tree = convertToBTree( set );
                    BTreeRedirect redirect = new BTreeRedirect( tree.getRecordId() );
                    bt.insert( key, ( V ) BTreeRedirectMarshaller.INSTANCE.serialize( redirect ), true );

                    if ( LOG.isDebugEnabled() )
                    {
                        LOG.debug( "<--- Add new BTREE {} = {}", name, key );
                    }
                }
                else
                {
                    bt.insert( key, ( V ) marshaller.serialize( set ), true );

                    if ( LOG.isDebugEnabled() )
                    {
                        LOG.debug( "<--- Add AVL {} = {}", name, key );
                    }
                }

                count++;
                return;
            }

            BTree tree = getBTree( values.getBTreeRedirect() );
            replaced = ( V ) tree.insert( value, StringConstants.EMPTY_BYTES, true );

            if ( replaced == null )
            {
                count++;
            }
View Full Code Here

TOP

Related Classes of jdbm.btree.BTree$EmptyBrowser

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.