Apply PR requests related to Refactor the FieldIdMapWithMetadata

This commit is contained in:
ManyTheFish 2025-03-06 11:42:53 +01:00
parent b88aa9cc76
commit 8ec0c322ea
4 changed files with 49 additions and 19 deletions

View file

@ -107,8 +107,15 @@ impl<'indexing> GlobalFieldsIdsMap<'indexing> {
}
/// Get the metadata of a field based on its id.
pub fn metadata(&self, id: FieldId) -> Option<Metadata> {
self.local.metadata(id).or_else(|| self.global.read().unwrap().metadata(id))
pub fn metadata(&mut self, id: FieldId) -> Option<Metadata> {
if self.local.metadata(id).is_none() {
let global = self.global.read().unwrap();
let (name, metadata) = global.name_with_metadata(id)?;
self.local.insert(name, id, metadata);
}
self.local.metadata(id)
}
}