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/10 22:30:53 UTC

svn commit: r1359886 - in /labs/mavibot/trunk/mavibot/src: main/java/org/apache/mavibot/btree/Node.java main/java/org/apache/mavibot/btree/RemoveResult.java test/java/org/apache/mavibot/btree/BTreeTest.java

Author: elecharny
Date: Tue Jul 10 20:30:53 2012
New Revision: 1359886

URL: http://svn.apache.org/viewvc?rev=1359886&view=rev
Log:
o Fixed an issue when a value is deleted on the left of the leftmost leaf
o Improved some toString() method
o Added some tests

Modified:
    labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/Node.java
    labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/RemoveResult.java
    labs/mavibot/trunk/mavibot/src/test/java/org/apache/mavibot/btree/BTreeTest.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=1359886&r1=1359885&r2=1359886&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 Tue Jul 10 20:30:53 2012
@@ -287,7 +287,7 @@ import java.util.LinkedList;
                 Node<K, V> newPage = copy( revision );
                 newPage.children[pos] = removeResult.getModifiedPage();
                 
-                if ( removeResult.getNewLeftMost() != null )
+                if ( ( removeResult.getNewLeftMost() != null ) && ( pos != 0 ) )
                 {
                     newPage.keys[pos] = removeResult.getNewLeftMost();
                 }

Modified: labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/RemoveResult.java
URL: http://svn.apache.org/viewvc/labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/RemoveResult.java?rev=1359886&r1=1359885&r2=1359886&view=diff
==============================================================================
--- labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/RemoveResult.java (original)
+++ labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/RemoveResult.java Tue Jul 10 20:30:53 2012
@@ -50,9 +50,10 @@ package org.apache.mavibot.btree;
     {
         StringBuilder sb = new StringBuilder();
         
-        sb.append( "RemoveResult, removed element = " ).append( getRemovedElement() );
-        sb.append( ", modifiedPage = " ).append( getModifiedPage() );
-        sb.append( ", new LeftMost = " ).append( getNewLeftMost() );
+        sb.append( "RemoveResult :" );
+        sb.append( "\n    removed element = " ).append( getRemovedElement() );
+        sb.append( "\n    modifiedPage = " ).append( getModifiedPage() );
+        sb.append( "\n    new LeftMost = " ).append( getNewLeftMost() );
 
         return sb.toString();
     }

Modified: labs/mavibot/trunk/mavibot/src/test/java/org/apache/mavibot/btree/BTreeTest.java
URL: http://svn.apache.org/viewvc/labs/mavibot/trunk/mavibot/src/test/java/org/apache/mavibot/btree/BTreeTest.java?rev=1359886&r1=1359885&r2=1359886&view=diff
==============================================================================
--- labs/mavibot/trunk/mavibot/src/test/java/org/apache/mavibot/btree/BTreeTest.java (original)
+++ labs/mavibot/trunk/mavibot/src/test/java/org/apache/mavibot/btree/BTreeTest.java Tue Jul 10 20:30:53 2012
@@ -662,5 +662,23 @@ public class BTreeTest
         
         btree.delete( 18 );
         assertNull( btree.find( 18 ) );
+        
+        // Delete two more elements to have two leaves with N/2 elements
+        btree.delete( 7 );
+        assertNull( btree.find( 7 ) );
+        
+        btree.delete( 12 );
+        assertNull( btree.find( 12 ) );
+        
+        // Delete the extra elements in the first leaf
+        btree.delete( 1 );
+        assertNull( btree.find( 1 ) );
+
+        btree.delete( 2 );
+        assertNull( btree.find( 2 ) );
+        
+        // Delete an element on first position from a leaf containing N/2 elements
+        //btree.delete( 5 );
+        //assertNull( btree.find( 5 ) );
     }
 }



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