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; /// Maximum value in an aggregation period #[derive(Deref, DerefMut, Traversable)] pub struct MaxVec( pub M::Stored>>, ); impl MaxVec { pub(crate) fn forced_import(db: &Database, name: &str, version: Version) -> Result { Ok(Self(EagerVec::forced_import( db, &format!("{name}_max"), version, )?)) } pub fn read_only_clone(&self) -> MaxVec { MaxVec(StoredVec::read_only_clone(&self.0)) } }