mirror of
https://github.com/bitcoinresearchkit/brk.git
synced 2026-05-20 06:44:47 -07:00
46 lines
1.2 KiB
Rust
46 lines
1.2 KiB
Rust
use std::path::Path;
|
|
|
|
use brk_error::Result;
|
|
use brk_indexer::Indexer;
|
|
use brk_types::Version;
|
|
|
|
use crate::{
|
|
indexes,
|
|
internal::{
|
|
WindowStartVec, Windows,
|
|
db_utils::{finalize_db, open_db},
|
|
},
|
|
};
|
|
|
|
use super::{CountVecs, FeesVecs, SizeVecs, Vecs, VersionsVecs, VolumeVecs};
|
|
|
|
impl Vecs {
|
|
pub(crate) fn forced_import(
|
|
parent_path: &Path,
|
|
parent_version: Version,
|
|
indexer: &Indexer,
|
|
indexes: &indexes::Vecs,
|
|
cached_starts: &Windows<&WindowStartVec>,
|
|
) -> Result<Self> {
|
|
let db = open_db(parent_path, super::DB_NAME, 10_000_000)?;
|
|
let version = parent_version;
|
|
|
|
let count = CountVecs::forced_import(&db, version, indexes, cached_starts)?;
|
|
let size = SizeVecs::forced_import(&db, version, indexer, indexes)?;
|
|
let fees = FeesVecs::forced_import(&db, version, indexes)?;
|
|
let versions = VersionsVecs::forced_import(&db, version, indexes, cached_starts)?;
|
|
let volume = VolumeVecs::forced_import(&db, version, indexes, cached_starts)?;
|
|
|
|
let this = Self {
|
|
db,
|
|
count,
|
|
size,
|
|
fees,
|
|
versions,
|
|
volume,
|
|
};
|
|
finalize_db(&this.db, &this)?;
|
|
Ok(this)
|
|
}
|
|
}
|