From d8e3a5b6db80f0ff078d78720db4be92d2d95dd4 Mon Sep 17 00:00:00 2001 From: Mikhail Mitrofanov Date: Fri, 28 Aug 2026 17:15:16 +0300 Subject: [PATCH] Load code fixed --- src/data/repositories.rs | 48 ++++++++++++++++++++++++++-------------- 1 file changed, 32 insertions(+), 16 deletions(-) diff --git a/src/data/repositories.rs b/src/data/repositories.rs index 30bd545..507f3e5 100644 --- a/src/data/repositories.rs +++ b/src/data/repositories.rs @@ -122,10 +122,10 @@ impl, D: DbLayer> Query { } } - pub fn load(&mut self, data_repository: DataRepositoryInner) { + pub fn load(&mut self, data_repository: &DataRepositoryInner) where T : Send + Sync { self.cache.clear(); if self.parallel { - let mut cache: Vec> = data_repository + self.cache = data_repository .cache .par_iter() .enumerate() @@ -138,21 +138,37 @@ impl, D: DbLayer> Query { }) .collect(); - cache.extend( - data_repository - .temporal - .iter() - .enumerate() - .filter(|(_, entity)| (self.rule)(entity)) - .map(|(i, entity)| EntityHandle { - id: entity.id(), - real: false, - index: i as u32, - _phantom: PhantomData, - }) - .collect::>(), - ); + } + else { + self.cache = data_repository + .cache + .iter() + .enumerate() + .filter(|(_, entity)| (self.rule)(entity)) + .map(|(i, entity)| EntityHandle { + id: entity.id(), + real: true, + index: i as u32, + _phantom: PhantomData, + }) + .collect(); + } + + self.cache.extend( + data_repository + .temporal + .iter() + .enumerate() + .filter(|(_, entity)| (self.rule)(entity)) + .map(|(i, entity)| EntityHandle { + id: entity.id(), + real: false, + index: i as u32, + _phantom: PhantomData, + }) + .collect::>(), + ); } }