Author: kayyagari
Date: Fri Jun  7 12:13:46 2013
New Revision: 1490606

URL: http://svn.apache.org/r1490606
Log:
o fixed the size of children's array
o fixed the getRightmostKey() method

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

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=1490606&r1=1490605&r2=1490606&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 
Fri Jun  7 12:13:46 2013
@@ -83,12 +83,12 @@ import org.apache.mavibot.btree.exceptio
         if ( btree.isManaged() )
         {
             children = ( ReferenceHolder<Page<K, V>, K, V>[] ) 
Array.newInstance( ReferenceHolder.class,
-                btree.getPageSize() );
+                btree.getPageSize() + 1 );
         }
         else
         {
             children = ( MemoryHolder[] ) Array.newInstance( 
MemoryHolder.class,
-                btree.getPageSize() );
+                btree.getPageSize() + 1 );
         }
 
         children[0] = btree.createHolder( leftPage );
@@ -123,7 +123,7 @@ import org.apache.mavibot.btree.exceptio
 
         // Create the children array, and store the left and right children
         children = ( ReferenceHolder<Page<K, V>, K, V>[] ) Array.newInstance( 
ReferenceHolder.class,
-            btree.getPageSize() );
+            btree.getPageSize() + 1 );
 
         children[0] = leftPage;
         children[1] = rightPage;
@@ -1219,7 +1219,14 @@ import org.apache.mavibot.btree.exceptio
      */
     public K getRightMostKey() throws EndOfFileExceededException, IOException
     {
-        return children[nbElems - 1].getValue( btree ).getRightMostKey();
+        int index = ( nbElems + 1 ) - 1;
+        
+        if( children[index] != null )
+        {
+            return children[ index ].getValue( btree ).getRightMostKey();
+        }
+        
+        return children[ nbElems - 1 ].getValue( btree ).getRightMostKey();
     }
 
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to