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/19 18:52:13 UTC
svn commit: r1363420 - in
/labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree:
AbstractDeleteResult.java DeleteResult.java Leaf.java Node.java
NotPresentResult.java
Author: elecharny
Date: Thu Jul 19 16:52:12 2012
New Revision: 1363420
URL: http://svn.apache.org/viewvc?rev=1363420&view=rev
Log:
o Fixed a bug when we delete an element which is the leftmost one in a leaf, and is present in a upper node
o Exposed the getNewLeftMost() method in the API
Modified:
labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/AbstractDeleteResult.java
labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/DeleteResult.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/NotPresentResult.java
Modified: labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/AbstractDeleteResult.java
URL: http://svn.apache.org/viewvc/labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/AbstractDeleteResult.java?rev=1363420&r1=1363419&r2=1363420&view=diff
==============================================================================
--- labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/AbstractDeleteResult.java (original)
+++ labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/AbstractDeleteResult.java Thu Jul 19 16:52:12 2012
@@ -74,7 +74,7 @@ package org.apache.mavibot.btree;
/**
* @return the newLeftMost
*/
- /* No qualifier */ K getNewLeftMost()
+ public K getNewLeftMost()
{
return newLeftMost;
}
Modified: labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/DeleteResult.java
URL: http://svn.apache.org/viewvc/labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/DeleteResult.java?rev=1363420&r1=1363419&r2=1363420&view=diff
==============================================================================
--- labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/DeleteResult.java (original)
+++ labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/DeleteResult.java Thu Jul 19 16:52:12 2012
@@ -39,4 +39,11 @@ interface DeleteResult<K, V>
* @return the removed element
*/
Tuple<K, V> getRemovedElement();
+
+
+ /**
+ * @return the leftmost element for this btree
+ * @return
+ */
+ K getNewLeftMost();
}
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=1363420&r1=1363419&r2=1363420&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 19 16:52:12 2012
@@ -333,7 +333,7 @@ public class Leaf<K, V> extends Abstract
// Create the result
Tuple<K, V> removedElement = new Tuple<K, V>( keys[pos], values[pos] );
- DeleteResult<K, V> result = new BorrowedFromRightResult<K, V>( newLeaf, newSibling, removedElement, newSibling.keys[0] );
+ DeleteResult<K, V> result = new BorrowedFromRightResult<K, V>( newLeaf, newSibling, removedElement, newLeaf.keys[0] );
return result;
}
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=1363420&r1=1363419&r2=1363420&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 19 16:52:12 2012
@@ -172,7 +172,7 @@ import java.util.LinkedList;
// Modify the result and return
removeResult.setModifiedPage( newPage );
- removeResult.setNewLeftMost( newPage.keys[0] );
+ //removeResult.setNewLeftMost( newPage.keys[0] );
return removeResult;
}
@@ -193,9 +193,9 @@ import java.util.LinkedList;
if ( found )
{
- child = children[-pos];
- deleteResult = child.delete( revision, key, this, -pos );
index = -( pos + 1 );
+ child = children[index + 1];
+ deleteResult = child.delete( revision, key, this, index + 1 );
}
else
{
@@ -376,7 +376,7 @@ import java.util.LinkedList;
// Modify the result and return
RemoveResult<K, V> removeResult = new RemoveResult<K, V>( newPage,
- borrowedResult.getRemovedElement(), newPage.keys[0] );
+ borrowedResult.getRemovedElement(), borrowedResult.getNewLeftMost() );
return removeResult;
}
Modified: labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/NotPresentResult.java
URL: http://svn.apache.org/viewvc/labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/NotPresentResult.java?rev=1363420&r1=1363419&r2=1363420&view=diff
==============================================================================
--- labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/NotPresentResult.java (original)
+++ labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/NotPresentResult.java Thu Jul 19 16:52:12 2012
@@ -58,4 +58,13 @@ package org.apache.mavibot.btree;
{
return null;
}
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public K getNewLeftMost()
+ {
+ return null;
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org