fix compile error

Signed-off-by: Alex Chi <iskyzh@gmail.com>
This commit is contained in:
Alex Chi
2024-01-29 20:46:12 +08:00
parent c45d6c8261
commit 1795647bad
6 changed files with 37 additions and 14 deletions

View File

@@ -19,6 +19,7 @@ pub struct SsTableBuilder {
pub(crate) meta: Vec<BlockMeta>,
block_size: usize,
key_hashes: Vec<u32>,
max_ts: u64,
}
impl SsTableBuilder {
@@ -32,6 +33,7 @@ impl SsTableBuilder {
block_size,
builder: BlockBuilder::new(block_size),
key_hashes: Vec::new(),
max_ts: 0,
}
}
@@ -41,6 +43,9 @@ impl SsTableBuilder {
self.first_key.set_from_slice(key);
}
if key.ts() > self.max_ts {
self.max_ts = key.ts();
}
self.key_hashes.push(farmhash::fingerprint32(key.key_ref()));
if self.builder.add(key, value) {
@@ -85,7 +90,7 @@ impl SsTableBuilder {
self.finish_block();
let mut buf = self.data;
let meta_offset = buf.len();
BlockMeta::encode_block_meta(&self.meta, &mut buf);
BlockMeta::encode_block_meta(&self.meta, self.max_ts, &mut buf);
buf.put_u32(meta_offset as u32);
let bloom = Bloom::build_from_key_hashes(
&self.key_hashes,
@@ -104,6 +109,7 @@ impl SsTableBuilder {
block_meta_offset: meta_offset,
block_cache,
bloom: Some(bloom),
max_ts: self.max_ts,
})
}