Fixes for sqlite data layer
This commit is contained in:
1 parent
7f9aa11d6e
commit
242b56fc21
9 files changed
+73
-67
No files matched your search
+14
-40
@@ -286,30 +286,17 @@ impl<T: EntityData + Clone, D: DbLayer<T>> DataRepositoryInner<T, D> {
|
||||
where
|
||||
T: Send + Sync,
|
||||
{
|
||||
let mut cache: Vec<EntityHandle<T>> = self
|
||||
.cache
|
||||
.par_iter()
|
||||
.enumerate()
|
||||
.filter(|(_, entity)| rule(entity))
|
||||
.map(|(i, entity)| EntityHandle::new(entity.id(), i, true))
|
||||
.collect();
|
||||
|
||||
cache.extend(
|
||||
self.temporal
|
||||
.iter()
|
||||
.enumerate()
|
||||
.filter(|(_, entity)| rule(entity))
|
||||
.map(|(i, entity)| EntityHandle::new(entity.id(), i, false))
|
||||
.collect::<Vec<_>>(),
|
||||
);
|
||||
|
||||
Query {
|
||||
cache,
|
||||
let mut query = Query {
|
||||
cache: vec![],
|
||||
rule,
|
||||
parallel: true,
|
||||
_marker: PhantomData,
|
||||
shift_stamp: self.shifts,
|
||||
}
|
||||
};
|
||||
|
||||
query.load(self);
|
||||
|
||||
query
|
||||
}
|
||||
|
||||
pub fn query(
|
||||
@@ -319,30 +306,17 @@ impl<T: EntityData + Clone, D: DbLayer<T>> DataRepositoryInner<T, D> {
|
||||
where
|
||||
T: Send + Sync,
|
||||
{
|
||||
let mut cache: Vec<EntityHandle<T>> = self
|
||||
.cache
|
||||
.iter()
|
||||
.enumerate()
|
||||
.filter(|(_, entity)| rule(entity))
|
||||
.map(|(i, entity)| EntityHandle::new(entity.id(), i, true))
|
||||
.collect();
|
||||
|
||||
cache.extend(
|
||||
self.temporal
|
||||
.iter()
|
||||
.enumerate()
|
||||
.filter(|(_, entity)| rule(entity))
|
||||
.map(|(i, entity)| EntityHandle::new(entity.id(), i, false))
|
||||
.collect::<Vec<_>>(),
|
||||
);
|
||||
|
||||
Query {
|
||||
cache,
|
||||
let mut query = Query {
|
||||
cache: vec![],
|
||||
rule,
|
||||
parallel: false,
|
||||
_marker: PhantomData,
|
||||
shift_stamp: self.shifts,
|
||||
}
|
||||
};
|
||||
|
||||
query.load(self);
|
||||
|
||||
query
|
||||
}
|
||||
|
||||
pub fn empty_query(&self) -> Query<T, DataRepositoryInner<T, D>, D> {
|
||||
|
||||
Reference in new issue
Block a user