From 68fa58d74b181f01269b75c793518f56e44dafa2 Mon Sep 17 00:00:00 2001 From: Paul Masurel Date: Thu, 7 Jan 2021 14:34:05 +0900 Subject: [PATCH] DO NOT MERGE --- .../e6ece22e5bca4e0dbe7ce3e4dcbd5bbf.store | Bin 0 -> 12301 bytes src/store/mod.rs | 2 ++ src/store/reader.rs | 15 ++++++++ src/store/tests_store.rs | 33 ++++++++++++++++++ 4 files changed, 50 insertions(+) create mode 100644 src/store/broken_seg/e6ece22e5bca4e0dbe7ce3e4dcbd5bbf.store create mode 100644 src/store/tests_store.rs diff --git a/src/store/broken_seg/e6ece22e5bca4e0dbe7ce3e4dcbd5bbf.store b/src/store/broken_seg/e6ece22e5bca4e0dbe7ce3e4dcbd5bbf.store new file mode 100644 index 0000000000000000000000000000000000000000..30635b47c3f05442a0bcba221fe9537a5299ad44 GIT binary patch literal 12301 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 Vec { + let mut documents = Vec::new(); + for checkpoint in self.skip_index.checkpoints() { + let block = self.read_block(&checkpoint).unwrap(); + let mut cursor = &block[..]; + while cursor.len() > 0 { + let doc_length = VInt::deserialize(&mut cursor).unwrap().val() as usize; + let doc = Document::deserialize(&mut &cursor[..doc_length]).unwrap(); + documents.push(doc); + cursor = &cursor[doc_length..]; + } + } + documents + } + fn block_checkpoint(&self, doc_id: DocId) -> Option { self.skip_index.seek(doc_id) } diff --git a/src/store/tests_store.rs b/src/store/tests_store.rs new file mode 100644 index 000000000..1aefc07b9 --- /dev/null +++ b/src/store/tests_store.rs @@ -0,0 +1,33 @@ +use std::path::Path; + +use crate::HasLen; +use crate::directory::{Directory, ManagedDirectory, MmapDirectory, RAMDirectory}; +use crate::fastfield::DeleteBitSet; + +use super::{StoreReader, StoreWriter}; + + +#[test] +fn test_toto() -> crate::Result<()> { + let directory = ManagedDirectory::wrap(MmapDirectory::open("src/store/broken_seg")?)?; + assert!(directory.validate_checksum(Path::new("e6ece22e5bca4e0dbe7ce3e4dcbd5bbf.store"))?); + let store_file = directory.open_read(Path::new("e6ece22e5bca4e0dbe7ce3e4dcbd5bbf.store"))?; + let store = StoreReader::open(store_file)?; + let documents = store.documents(); + let ram_directory = RAMDirectory::create(); + let path = Path::new("store"); + let store_wrt = ram_directory.open_write(path)?; + let mut store_writer = StoreWriter::new(store_wrt); + for doc in &documents { + store_writer.store(doc)?; + } + store_writer.close()?; + let store_data = ram_directory.open_read(path)?; + let new_store = StoreReader::open(store_data)?; + for doc in 0.. { + println!("{}", doc); + let doc = store.get(53)?; + println!("{:?}", doc); + } + Ok(()) +}