From: Chris Mikkelson Date: Mon, 5 Aug 2024 06:02:28 +0000 (-0600) Subject: writer: write in-progress block X-Git-Url: https://git.mikk.net/?a=commitdiff_plain;h=0b882e4f08b9fb4714383298711bdfdd981408f9;p=mtbl-rs writer: write in-progress block --- diff --git a/src/writer/block_builder.rs b/src/writer/block_builder.rs index 8efad59..3541fec 100644 --- a/src/writer/block_builder.rs +++ b/src/writer/block_builder.rs @@ -4,7 +4,7 @@ pub struct BlockBuilder { prev_key: Vec, data: Vec, restarts: Vec, - count: usize, + pub(crate) count: usize, pub(crate) restart_interval: usize, finished: bool, } @@ -48,10 +48,6 @@ impl BlockBuilder { .zip(key.iter()) .take_while(|(a, b)| a == b) .count(); - println!( - "prev: {:?}\n key: {:?}\n shared: {}\n", - self.prev_key, key, key_shared - ); let key_unshared = key.len() - key_shared; self.data.reserve(3 * 5 + key_unshared + val.len()); varint_append(&mut self.data, key_shared); diff --git a/src/writer/mod.rs b/src/writer/mod.rs index 6068412..6d96bd1 100644 --- a/src/writer/mod.rs +++ b/src/writer/mod.rs @@ -157,6 +157,9 @@ impl Writer { // private function, called by Drop when writer goes out of scope. fn finish(&mut self) -> Result<()> { + if self.block.count > 0 { + self.write_block()?; + } let b = self.index.as_slice(); self.meta.index_block_offset = self.written; self.meta.bytes_index_block = b.len();