From 0b882e4f08b9fb4714383298711bdfdd981408f9 Mon Sep 17 00:00:00 2001 From: Chris Mikkelson Date: Mon, 5 Aug 2024 00:02:28 -0600 Subject: [PATCH] writer: write in-progress block --- src/writer/block_builder.rs | 6 +----- src/writer/mod.rs | 3 +++ 2 files changed, 4 insertions(+), 5 deletions(-) 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(); -- 2.50.1