use std::path::Path; use brk_error::Result; use brk_traversable::Traversable; use vecdb::{Database, PAGE_SIZE}; pub(crate) fn open_db( parent_path: &Path, db_name: &str, page_multiplier: usize, ) -> Result { let db = Database::open(&parent_path.join(db_name))?; db.set_min_len(PAGE_SIZE * page_multiplier)?; Ok(db) } pub(crate) fn finalize_db(db: &Database, traversable: &impl Traversable) -> Result<()> { db.retain_regions( traversable .iter_any_exportable() .flat_map(|v| v.region_names()) .collect(), )?; db.compact()?; Ok(()) }