From fcf5a25d9348201c9ee36e5ae27944b414953e5c Mon Sep 17 00:00:00 2001 From: trinity-1686a Date: Wed, 8 Mar 2023 03:15:56 +0100 Subject: [PATCH] use DeltaReader directly to implement Dictionnary::ord_to_term (#1928) --- sstable/src/dictionary.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sstable/src/dictionary.rs b/sstable/src/dictionary.rs index 60b5810ef..db704a6bd 100644 --- a/sstable/src/dictionary.rs +++ b/sstable/src/dictionary.rs @@ -279,14 +279,14 @@ impl Dictionary { let first_ordinal = block_addr.first_ordinal; // then search inside that block only - let mut sstable_reader = self.sstable_reader_block(block_addr)?; + let mut sstable_delta_reader = self.sstable_delta_reader_block(block_addr)?; for _ in first_ordinal..=ord { - if !sstable_reader.advance()? { + if !sstable_delta_reader.advance()? { return Ok(false); } + bytes.truncate(sstable_delta_reader.common_prefix_len()); + bytes.extend_from_slice(sstable_delta_reader.suffix()); } - bytes.clear(); - bytes.extend_from_slice(sstable_reader.key()); Ok(true) }