提交 456390ee 编写于 作者: J Jesse Lee

Fix Codex

上级 7d763a91
......@@ -252,8 +252,8 @@ class BPlusTree {
~InnerNode() = default;
slot_type slot_dir_[traits::kInnerSlots];
key_type keys_[traits::kInnerSlots];
slot_type slot_dir_[traits::kInnerSlots] = {0};
key_type keys_[traits::kInnerSlots] = {0};
BaseNode *data_[traits::kInnerSlots + 1] = {nullptr};
uint64_t num_keys_[traits::kInnerSlots + 1] = {0};
slot_type slotuse_;
......@@ -282,8 +282,8 @@ class BPlusTree {
~LeafNode() = default;
slot_type slot_dir_[traits::kLeafSlots];
key_type keys_[traits::kLeafSlots];
slot_type slot_dir_[traits::kLeafSlots] = {0};
key_type keys_[traits::kLeafSlots] = {0};
std::unique_ptr<value_type> data_[traits::kLeafSlots];
slot_type slotuse_;
};
......
......@@ -42,6 +42,9 @@ typename BPlusTree<K, V, A, C, T>::IndexRc BPlusTree<K, V, A, C, T>::InnerNode::
// Swap the key
std::swap(keys_[j], keys_[i]);
// 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]);
// one key in order.
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 k = inverse[j];
// Swap the key
if (j >= traits::kLeafSlots || i >= traits::kLeafSlots) {
return IndexRc::kUnexpectedError;
}
std::swap(keys_[j], keys_[i]);
// Swap the shared pointers
std::swap(data_[j], data_[i]);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册