diff --git a/Cargo.toml b/Cargo.toml index 5110b34..14fca37 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.2.7" +version = "0.2.8" edition = "2021" authors = ["Handy-caT"] license = "MIT" @@ -19,7 +19,7 @@ rkyv = { version = "0.8.9", features = ["uuid-1"] } lockfree = "0.5.1" uuid = { version = "1.11.0", features = ["v4"] } ordered-float = "5.0.0" -indexset = { version = "0.12.3", features = ["concurrent", "cdc", "multimap"] } -# indexset = { path = "../indexset", version = "0.12.2", features = ["concurrent", "cdc", "multimap"] } -# indexset = { git = "https://github.com/Handy-caT/indexset", branch = "multimap-range-fix", version = "0.12.0", features = ["concurrent", "cdc", "multimap"] } +# indexset = { version = "0.12.3", features = ["concurrent", "cdc", "multimap"] } +# indexset = { path = "../indexset", version = "0.12.3", features = ["concurrent", "cdc", "multimap"] } +indexset = { package = "wt-indexset", version = "0.12.4", features = ["concurrent", "cdc", "multimap"] } tokio = { version = "1", features = ["full"] } diff --git a/codegen/src/persistable/generator/persistable_impl.rs b/codegen/src/persistable/generator/persistable_impl.rs index 40300b6..873fc28 100644 --- a/codegen/src/persistable/generator/persistable_impl.rs +++ b/codegen/src/persistable/generator/persistable_impl.rs @@ -268,8 +268,7 @@ impl Generator { }); val.unwrap().1.ident.as_ref().unwrap() }; - let value_fn_ident = - Ident::new(format!("{}_value_size", ident).as_str(), Span::call_site()); + let value_fn_ident = Ident::new(format!("{ident}_value_size").as_str(), Span::call_site()); let len = if is_primitive(&inner_ty_str) { quote! { let values_len = align(#size_ident as usize * <#inner_ty as Default>::default().aligned_size()) + 8; diff --git a/src/page/index/page.rs b/src/page/index/page.rs index 31bddfb..ece7286 100644 --- a/src/page/index/page.rs +++ b/src/page/index/page.rs @@ -326,7 +326,7 @@ mod tests { #[test] fn test_bytes_128() { let size: usize = get_index_page_size_from_data_length::(INNER_PAGE_SIZE); - println!("size: {}", size); + println!("size: {size}"); let page = IndexPage::::new( IndexValue { key: u128::default(), diff --git a/src/page/index/page_cdc_impl.rs b/src/page/index/page_cdc_impl.rs index adc7325..65419db 100644 --- a/src/page/index/page_cdc_impl.rs +++ b/src/page/index/page_cdc_impl.rs @@ -35,6 +35,7 @@ where pub fn apply_change_event(&mut self, event: ChangeEvent>) -> eyre::Result<()> { match event.clone() { ChangeEvent::InsertAt { + event_id: _, max_value: _, value, index, @@ -42,13 +43,14 @@ where if value.key > self.node_id.key { self.node_id = value.clone().into(); } - if index == self.current_length as usize { + if index == self.current_length as usize && value.key == self.node_id.key { self.node_id = value.clone().into(); } self.apply_insert_at(index, value)?; Ok(()) } ChangeEvent::RemoveAt { + event_id: _, max_value, value, index, @@ -129,6 +131,7 @@ mod test { 10, ); let event = ChangeEvent::InsertAt { + event_id: 0.into(), max_value: Pair { key: 1, value: Link::default(), @@ -161,6 +164,7 @@ mod test { 10, ); let event = ChangeEvent::InsertAt { + event_id: 0.into(), max_value: Pair { key: 1, value: Link::default(), @@ -173,6 +177,7 @@ mod test { }; page.apply_change_event(event).unwrap(); let event = ChangeEvent::InsertAt { + event_id: 0.into(), max_value: Pair { key: 1, value: Link::default(), @@ -212,6 +217,7 @@ mod test { 10, ); let event = ChangeEvent::InsertAt { + event_id: 0.into(), max_value: Pair { key: 1, value: Link::default(), @@ -224,6 +230,7 @@ mod test { }; page.apply_change_event(event).unwrap(); let event = ChangeEvent::InsertAt { + event_id: 0.into(), max_value: Pair { key: 1, value: Link::default(), @@ -236,6 +243,7 @@ mod test { }; page.apply_change_event(event).unwrap(); let event = ChangeEvent::RemoveAt { + event_id: 0.into(), max_value: Pair { key: 2, value: Link::default(), @@ -269,6 +277,7 @@ mod test { 10, ); let event = ChangeEvent::InsertAt { + event_id: 0.into(), max_value: Pair { key: 1, value: Link::default(), @@ -281,6 +290,7 @@ mod test { }; page.apply_change_event(event).unwrap(); let event = ChangeEvent::InsertAt { + event_id: 0.into(), max_value: Pair { key: 1, value: Link::default(), @@ -293,6 +303,7 @@ mod test { }; page.apply_change_event(event).unwrap(); let event = ChangeEvent::RemoveAt { + event_id: 0.into(), max_value: Pair { key: 2, value: Link::default(), diff --git a/src/page/index/page_for_unsized.rs b/src/page/index/page_for_unsized.rs index db25a97..55bc260 100644 --- a/src/page/index/page_for_unsized.rs +++ b/src/page/index/page_for_unsized.rs @@ -362,7 +362,7 @@ mod test { let mut values = vec![]; for i in 0..10 { values.push(IndexValue { - key: format!("{}___________________{}", i, i), + key: format!("{i}___________________{i}"), link: Link { page_id: 0.into(), offset: i * 24, diff --git a/src/page/index/page_for_unsized_cdc_impl.rs b/src/page/index/page_for_unsized_cdc_impl.rs index 4399f3e..593ac93 100644 --- a/src/page/index/page_for_unsized_cdc_impl.rs +++ b/src/page/index/page_for_unsized_cdc_impl.rs @@ -28,6 +28,7 @@ where pub fn apply_change_event(&mut self, event: ChangeEvent>) -> eyre::Result<()> { match event { ChangeEvent::InsertAt { + event_id: _, max_value: _, value, index, @@ -44,6 +45,7 @@ where Ok(()) } ChangeEvent::RemoveAt { + event_id: _, max_value, value, index, @@ -115,6 +117,7 @@ mod test { }) .unwrap(); let event = ChangeEvent::InsertAt { + event_id: 0.into(), max_value: Pair { key: "Something".to_string(), value: Link::default(), @@ -138,6 +141,7 @@ mod test { }) .unwrap(); let event = ChangeEvent::InsertAt { + event_id: 0.into(), max_value: Pair { key: "Something".to_string(), value: Link::default(), @@ -150,6 +154,7 @@ mod test { }; page.apply_change_event(event).unwrap(); let event = ChangeEvent::RemoveAt { + event_id: 0.into(), max_value: Pair { key: "Something new".to_string(), value: Link::default(), @@ -173,6 +178,7 @@ mod test { }) .unwrap(); let event = ChangeEvent::InsertAt { + event_id: 0.into(), max_value: Pair { key: "Something".to_string(), value: Link::default(), @@ -185,6 +191,7 @@ mod test { }; page.apply_change_event(event).unwrap(); let event = ChangeEvent::RemoveAt { + event_id: 0.into(), max_value: Pair { key: "Something new".to_string(), value: Link::default(),