Package jdbm.btree

Examples of jdbm.btree.BTree


      commit();
   }

   @Override
   public String toString() {
      BTree et = expiryTree;
      int expiry = (et == null) ? -1 : et.size();
      return "JdbmCacheLoader locationStr=" + config.getLocation() + " expirySize=" + expiry;
   }
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();
        tree.browse().getNext( tuple );
        //noinspection unchecked
       
        return ( V ) tuple.getKey();
    }
View Full Code Here

            V result = set.findGreaterOrEqual( val );
            return result != null;
        }

        // last option is to try a btree with BTreeRedirects
        BTree tree = getBTree( values.getBTreeRedirect() );
       
        return tree.size() != 0 && btreeHas( tree, val, true );
    }
View Full Code Here

            V result = set.findLessOrEqual( val );
            return result != null;
        }

        // last option is to try a btree with BTreeRedirects
        BTree tree = getBTree( values.getBTreeRedirect() );
       
        return tree.size() != 0 && btreeHas( tree, val, false );
    }
View Full Code Here

                {
                    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 );
                }

                recMan.delete( tree.getRecid() );
                duplicateBtrees.remove( tree.getRecid() );
                return;
            }
            else
            {
                ArrayTree<V> set = marshaller.deserialize( serialized );
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

TOP

Related Classes of jdbm.btree.BTree

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.