use brk_error::Result; use brk_traversable::Traversable; use derive_more::{Deref, DerefMut}; use schemars::JsonSchema; use vecdb::{ Database, EagerVec, ImportableVec, PcoVec, Ro, Rw, StorageMode, StoredVec, VecIndex, Version, }; use crate::internal::ComputedVecValue; /// Minimum value in an aggregation period #[derive(Deref, DerefMut, Traversable)] pub struct MinVec( pub M::Stored>>, ); impl MinVec { pub(crate) fn forced_import(db: &Database, name: &str, version: Version) -> Result { Ok(Self(EagerVec::forced_import( db, &format!("{name}_min"), version, )?)) } pub fn read_only_clone(&self) -> MinVec { MinVec(StoredVec::read_only_clone(&self.0)) } }