You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by el...@apache.org on 2012/07/12 17:45:01 UTC

svn commit: r1360732 - in /labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree: BTree.java Leaf.java Node.java Page.java

Author: elecharny
Date: Thu Jul 12 15:45:00 2012
New Revision: 1360732

URL: http://svn.apache.org/viewvc?rev=1360732&view=rev
Log:
o Added a setRoot( page ) method to the btree, as a helper methd for debug purposes
o Added findLeftMost/findRightMost methods to the Page class

Modified:
    labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/BTree.java
    labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/Leaf.java
    labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/Node.java
    labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/Page.java

Modified: labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/BTree.java
URL: http://svn.apache.org/viewvc/labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/BTree.java?rev=1360732&r1=1360731&r2=1360732&view=diff
==============================================================================
--- labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/BTree.java (original)
+++ labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/BTree.java Thu Jul 12 15:45:00 2012
@@ -154,6 +154,19 @@ public class BTree<K, V>
         
         this.pageSize = getPowerOf2( pageSize );
     }
+    
+    
+    /**
+     * Set the new root page for this tree. Used for debug purpose only. The revision
+     * will always be 0;
+     * 
+     * @param root the new root page.
+     */
+    /* No qualifier */ void setRoot( Page<K, V> root )
+    {
+        rootPage = root;
+        roots.put( revision.getAndIncrement(), rootPage );
+    }
 
 
     /**

Modified: labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/Leaf.java
URL: http://svn.apache.org/viewvc/labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/Leaf.java?rev=1360732&r1=1360731&r2=1360732&view=diff
==============================================================================
--- labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/Leaf.java (original)
+++ labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/Leaf.java Thu Jul 12 15:45:00 2012
@@ -635,6 +635,24 @@ public class Leaf<K, V> extends Abstract
         
         return result;
     }
+    
+    
+    /**
+     * {@inheritDoc}
+     */
+    public Tuple<K, V> findLeftMost()
+    {
+        return new Tuple<K, V>( keys[0], values[0] );
+    }
+    
+    
+    /**
+     * {@inheritDoc}
+     */
+    public Tuple<K, V> findRightMost()
+    {
+        return new Tuple<K, V>( keys[nbElems - 1], values[nbElems - 1] );
+    }
 
 
     /**

Modified: labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/Node.java
URL: http://svn.apache.org/viewvc/labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/Node.java?rev=1360732&r1=1360731&r2=1360732&view=diff
==============================================================================
--- labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/Node.java (original)
+++ labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/Node.java Thu Jul 12 15:45:00 2012
@@ -687,6 +687,24 @@ import java.util.LinkedList;
 
         return newPage;
     }
+    
+    
+    /**
+     * {@inheritDoc}
+     */
+    public Tuple<K, V> findLeftMost()
+    {
+        return children[0].findLeftMost();
+    }
+    
+    
+    /**
+     * {@inheritDoc}
+     */
+    public Tuple<K, V> findRightMost()
+    {
+        return children[nbElems].findRightMost();
+    }
 
 
     /**

Modified: labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/Page.java
URL: http://svn.apache.org/viewvc/labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/Page.java?rev=1360732&r1=1360731&r2=1360732&view=diff
==============================================================================
--- labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/Page.java (original)
+++ labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/Page.java Thu Jul 12 15:45:00 2012
@@ -123,6 +123,24 @@ import java.util.LinkedList;
     
     
     /**
+     * Find the leftmost element in this page. If the page is a node, it will go
+     * down in the leftmost children to recursively find the leftmost element.
+     * 
+     * @return The leftmost element in the tree
+     */
+    Tuple<K, V> findLeftMost();
+    
+    
+    /**
+     * Find the rightmost element in this page. If the page is a node, it will go
+     * down in the rightmost children to recursively find the rightmost element.
+     * 
+     * @return The rightmost element in the tree
+     */
+    Tuple<K, V> findRightMost();
+    
+    
+    /**
      * Pretty-print the tree with tabs
      * @param tabs The tabs to add in front of each node
      * @return A pretty-print dump of the tree



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org