feat: Introduce the DocumentsAddition type

This commit is contained in:
Clément Renault
2019-05-09 14:23:39 +02:00
parent 42e39f6eb5
commit e67ada8823
5 changed files with 289 additions and 232 deletions

View File

@ -1,7 +1,7 @@
use meilidb_core::DocumentId;
use serde::ser;
use crate::database::RawIndex;
use crate::database::Index;
use crate::ranked_map::RankedMap;
use crate::indexer::Indexer as RawIndexer;
use crate::schema::Schema;
@ -9,7 +9,7 @@ use super::{SerializerError, ConvertToString, ConvertToNumber, Indexer};
pub struct Serializer<'a> {
pub schema: &'a Schema,
pub index: &'a RawIndex,
pub index: &'a Index,
pub indexer: &'a mut RawIndexer,
pub ranked_map: &'a mut RankedMap,
pub document_id: DocumentId,
@ -171,7 +171,7 @@ impl<'a> ser::Serializer for Serializer<'a> {
pub struct MapSerializer<'a> {
schema: &'a Schema,
document_id: DocumentId,
index: &'a RawIndex,
index: &'a Index,
indexer: &'a mut RawIndexer,
ranked_map: &'a mut RankedMap,
current_key_name: Option<String>,
@ -224,7 +224,7 @@ impl<'a> ser::SerializeMap for MapSerializer<'a> {
pub struct StructSerializer<'a> {
schema: &'a Schema,
document_id: DocumentId,
index: &'a RawIndex,
index: &'a Index,
indexer: &'a mut RawIndexer,
ranked_map: &'a mut RankedMap,
}
@ -259,7 +259,7 @@ impl<'a> ser::SerializeStruct for StructSerializer<'a> {
fn serialize_value<T: ?Sized>(
schema: &Schema,
document_id: DocumentId,
index: &RawIndex,
index: &Index,
indexer: &mut RawIndexer,
ranked_map: &mut RankedMap,
key: &str,
@ -272,7 +272,7 @@ where T: ser::Serialize,
if props.is_stored() {
let value = rmp_serde::to_vec_named(value)?;
index.set_document_attribute(document_id, attr, value)?;
index.lease_inner().raw.documents.set_document_field(document_id, attr, value)?;
}
if props.is_indexed() {