global: snapshot

This commit is contained in:
nym21
2025-05-18 17:28:09 +02:00
parent c2a77072d2
commit 411c5e4c4d
27 changed files with 378 additions and 329 deletions

View File

@@ -46,27 +46,23 @@ where
compressed: Compressed,
options: StorableVecGeneatorOptions,
) -> color_eyre::Result<Self> {
let key = I::to_string().split("::").last().unwrap().to_lowercase();
let only_one_active = options.is_only_one_active();
let default = || path.join(format!("{key}_to_{name}"));
let prefix = |s: &str| path.join(format!("{key}_to_{s}_{name}"));
let prefix = |s: &str| format!("{s}_{name}");
let maybe_prefix = |s: &str| {
if only_one_active {
default()
name.to_string()
} else {
prefix(s)
}
};
let suffix = |s: &str| path.join(format!("{key}_to_{name}_{s}"));
let suffix = |s: &str| format!("{name}_{s}");
let maybe_suffix = |s: &str| {
if only_one_active {
default()
name.to_string()
} else {
suffix(s)
}
@@ -78,6 +74,7 @@ where
first: options.first.then(|| {
Box::new(
EagerVec::forced_import(
path,
&maybe_prefix("first"),
version + Version::ZERO,
compressed,
@@ -87,17 +84,14 @@ where
}),
last: options.last.then(|| {
Box::new(
EagerVec::forced_import(
&path.join(format!("{key}_to_{name}")),
version + Version::ZERO,
compressed,
)
.unwrap(),
EagerVec::forced_import(path, name, version + Version::ZERO, compressed)
.unwrap(),
)
}),
min: options.min.then(|| {
Box::new(
EagerVec::forced_import(
path,
&maybe_suffix("min"),
version + Version::ZERO,
compressed,
@@ -108,6 +102,7 @@ where
max: options.max.then(|| {
Box::new(
EagerVec::forced_import(
path,
&maybe_suffix("max"),
version + Version::ZERO,
compressed,
@@ -118,6 +113,7 @@ where
median: options.median.then(|| {
Box::new(
EagerVec::forced_import(
path,
&maybe_suffix("median"),
version + Version::ZERO,
compressed,
@@ -128,6 +124,7 @@ where
average: options.average.then(|| {
Box::new(
EagerVec::forced_import(
path,
&maybe_suffix("average"),
version + Version::ZERO,
compressed,
@@ -138,6 +135,7 @@ where
sum: options.sum.then(|| {
Box::new(
EagerVec::forced_import(
path,
&maybe_suffix("sum"),
version + Version::ZERO,
compressed,
@@ -147,13 +145,19 @@ where
}),
total: options.total.then(|| {
Box::new(
EagerVec::forced_import(&prefix("total"), version + Version::ZERO, compressed)
.unwrap(),
EagerVec::forced_import(
path,
&prefix("total"),
version + Version::ZERO,
compressed,
)
.unwrap(),
)
}),
_90p: options._90p.then(|| {
Box::new(
EagerVec::forced_import(
path,
&maybe_suffix("90p"),
version + Version::ZERO,
compressed,
@@ -164,6 +168,7 @@ where
_75p: options._75p.then(|| {
Box::new(
EagerVec::forced_import(
path,
&maybe_suffix("75p"),
version + Version::ZERO,
compressed,
@@ -174,6 +179,7 @@ where
_25p: options._25p.then(|| {
Box::new(
EagerVec::forced_import(
path,
&maybe_suffix("25p"),
version + Version::ZERO,
compressed,
@@ -184,6 +190,7 @@ where
_10p: options._10p.then(|| {
Box::new(
EagerVec::forced_import(
path,
&maybe_suffix("10p"),
version + Version::ZERO,
compressed,

View File

@@ -49,11 +49,7 @@ where
let options = options.remove_percentiles();
Ok(Self {
dateindex: EagerVec::forced_import(
&path.join(format!("dateindex_to_{name}")),
version,
compressed,
)?,
dateindex: EagerVec::forced_import(path, name, version, compressed)?,
dateindex_extra,
weekindex: ComputedVecBuilder::forced_import(path, name, version, compressed, options)?,
monthindex: ComputedVecBuilder::forced_import(

View File

@@ -45,16 +45,8 @@ where
) -> color_eyre::Result<Self> {
let version = VERSION + version;
let height = compute_source.then(|| {
Box::new(
EagerVec::forced_import(
&path.join(format!("height_to_{name}")),
version,
compressed,
)
.unwrap(),
)
});
let height = compute_source
.then(|| Box::new(EagerVec::forced_import(path, name, version, compressed).unwrap()));
let height_extra = ComputedVecBuilder::forced_import(
path,

View File

@@ -36,8 +36,7 @@ where
) -> color_eyre::Result<Self> {
let version = VERSION + version;
let height =
EagerVec::forced_import(&path.join(format!("height_to_{name}")), version, compressed)?;
let height = EagerVec::forced_import(path, name, version, compressed)?;
let height_extra = ComputedVecBuilder::forced_import(
path,

View File

@@ -48,16 +48,8 @@ where
) -> color_eyre::Result<Self> {
let version = VERSION + version;
let txindex = compute_source.then(|| {
Box::new(
EagerVec::forced_import(
&path.join(format!("txindex_to_{name}")),
version,
compressed,
)
.unwrap(),
)
});
let txindex = compute_source
.then(|| Box::new(EagerVec::forced_import(path, name, version, compressed).unwrap()));
let height = ComputedVecBuilder::forced_import(path, name, version, compressed, options)?;

View File

@@ -51,6 +51,9 @@ impl ComputedValueVecsFromTxindex {
let compute_source = source.is_none();
let compute_dollars = fetched.is_some();
let name_in_btc = format!("{name}_in_btc");
let name_in_usd = format!("{name}_in_usd");
let sats = ComputedVecsFromTxindex::forced_import(
path,
name,
@@ -61,7 +64,7 @@ impl ComputedValueVecsFromTxindex {
)?;
let bitcoin_txindex = LazyVecFrom1::init(
"txindex_to_{name}_in_btc",
&name_in_btc,
VERSION + version,
source.map_or_else(|| sats.txindex.as_ref().unwrap().boxed_clone(), |s| s),
|txindex: TxIndex, iter| {
@@ -74,7 +77,7 @@ impl ComputedValueVecsFromTxindex {
let bitcoin = ComputedVecsFromTxindex::forced_import(
path,
&format!("{name}_in_btc"),
&name_in_btc,
false,
VERSION + version,
compressed,
@@ -85,7 +88,7 @@ impl ComputedValueVecsFromTxindex {
ComputedVecFrom3::forced_import_or_init_from_3(
computation,
path,
"txindex_to_{name}_in_usd",
&name_in_usd,
VERSION + version,
compressed,
bitcoin_txindex.boxed_clone(),
@@ -120,7 +123,7 @@ impl ComputedValueVecsFromTxindex {
dollars: compute_dollars.then(|| {
ComputedVecsFromTxindex::forced_import(
path,
&format!("{name}_in_usd"),
&name_in_usd,
false,
VERSION + version,
compressed,