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: [email protected]
For additional commands, e-mail: [email protected]