|
|
@@ -42,6 +42,9 @@ typename BPlusTree<K, V, A, C, T>::IndexRc BPlusTree<K, V, A, C, T>::InnerNode:: |
|
|
// Swap the key |
|
|
// Swap the key |
|
|
std::swap(keys_[j], keys_[i]); |
|
|
std::swap(keys_[j], keys_[i]); |
|
|
// Swap the pointers. |
|
|
// Swap the pointers. |
|
|
|
|
|
if ((j + 1) >= traits::kInnerSlots + 1 || (i + 1) >= traits::kInnerSlots + 1) { |
|
|
|
|
|
return IndexRc::kUnexpectedError; |
|
|
|
|
|
} |
|
|
std::swap(data_[j + 1], data_[i + 1]); |
|
|
std::swap(data_[j + 1], data_[i + 1]); |
|
|
// one key in order. |
|
|
// one key in order. |
|
|
inverse[j] = j; |
|
|
inverse[j] = j; |
|
|
@@ -131,6 +134,9 @@ typename BPlusTree<K, V, A, C, T>::IndexRc BPlusTree<K, V, A, C, T>::LeafNode::S |
|
|
slot_type j = inverse[i]; |
|
|
slot_type j = inverse[i]; |
|
|
slot_type k = inverse[j]; |
|
|
slot_type k = inverse[j]; |
|
|
// Swap the key |
|
|
// Swap the key |
|
|
|
|
|
if (j >= traits::kLeafSlots || i >= traits::kLeafSlots) { |
|
|
|
|
|
return IndexRc::kUnexpectedError; |
|
|
|
|
|
} |
|
|
std::swap(keys_[j], keys_[i]); |
|
|
std::swap(keys_[j], keys_[i]); |
|
|
// Swap the shared pointers |
|
|
// Swap the shared pointers |
|
|
std::swap(data_[j], data_[i]); |
|
|
std::swap(data_[j], data_[i]); |
|
|
|