mirror of
https://github.com/meilisearch/meilisearch.git
synced 2025-07-27 00:31:02 +00:00
Make the FieldsIdsMap serialization more stable by using a BTreeMap
This commit is contained in:
@ -1,26 +0,0 @@
|
||||
use std::borrow::Cow;
|
||||
use csv::{StringRecord, Writer, ReaderBuilder};
|
||||
|
||||
pub struct CsvStringRecordCodec;
|
||||
|
||||
impl heed::BytesDecode<'_> for CsvStringRecordCodec {
|
||||
type DItem = StringRecord;
|
||||
|
||||
fn bytes_decode(bytes: &[u8]) -> Option<Self::DItem> {
|
||||
let mut reader = ReaderBuilder::new()
|
||||
.has_headers(false)
|
||||
.buffer_capacity(bytes.len()) // we will just read this record
|
||||
.from_reader(bytes);
|
||||
reader.records().next()?.ok() // it return an Option of Result
|
||||
}
|
||||
}
|
||||
|
||||
impl heed::BytesEncode<'_> for CsvStringRecordCodec {
|
||||
type EItem = StringRecord;
|
||||
|
||||
fn bytes_encode(item: &Self::EItem) -> Option<Cow<[u8]>> {
|
||||
let mut writer = Writer::from_writer(Vec::new());
|
||||
writer.write_record(item).ok()?;
|
||||
writer.into_inner().ok().map(Cow::Owned)
|
||||
}
|
||||
}
|
@ -1,7 +1,6 @@
|
||||
mod beu32_str_codec;
|
||||
mod bo_roaring_bitmap_codec;
|
||||
mod cbo_roaring_bitmap_codec;
|
||||
mod csv_string_record_codec;
|
||||
mod obkv_codec;
|
||||
mod roaring_bitmap_codec;
|
||||
mod str_str_u8_codec;
|
||||
@ -9,7 +8,6 @@ mod str_str_u8_codec;
|
||||
pub use self::beu32_str_codec::BEU32StrCodec;
|
||||
pub use self::bo_roaring_bitmap_codec::BoRoaringBitmapCodec;
|
||||
pub use self::cbo_roaring_bitmap_codec::CboRoaringBitmapCodec;
|
||||
pub use self::csv_string_record_codec::CsvStringRecordCodec;
|
||||
pub use self::obkv_codec::ObkvCodec;
|
||||
pub use self::roaring_bitmap_codec::RoaringBitmapCodec;
|
||||
pub use self::str_str_u8_codec::StrStrU8Codec;
|
||||
|
Reference in New Issue
Block a user