diff --git a/Cargo.toml b/Cargo.toml index 762a3a7..e5a7943 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ members = ["codegen", "tools/create-data-file", "tools/dump-data-file"] [package] name = "data_bucket" -version = "0.3.13" +version = "0.3.14" edition = "2021" authors = ["Handy-caT"] license = "MIT" diff --git a/src/page/index/page_cdc_impl.rs b/src/page/index/page_cdc_impl.rs index 65419db..e49e943 100644 --- a/src/page/index/page_cdc_impl.rs +++ b/src/page/index/page_cdc_impl.rs @@ -55,7 +55,7 @@ where value, index, } => { - if max_value == value && index != 0 { + if max_value == value && index != 0 && index == self.current_length as usize - 1 { // If we are removing max value, we need to update node_id. // It will be previous value in a node. let previous_value_pos = self.slots[index - 1]; diff --git a/src/page/index/page_for_unsized_cdc_impl.rs b/src/page/index/page_for_unsized_cdc_impl.rs index 770624a..33e29d4 100644 --- a/src/page/index/page_for_unsized_cdc_impl.rs +++ b/src/page/index/page_for_unsized_cdc_impl.rs @@ -56,7 +56,7 @@ where // we are checking if index is non-zero because for non-unique indexes this is possible and will // lead to panic, but in this case new node_id will be same to current node_id so it's change // will not affect at all. - if value == max_value && index != 0 { + if value == max_value && index != 0 && index == self.slots_size as usize - 1 { let new_node_id = self .index_values .get(index - 1)