global: snapshot

This commit is contained in:
nym21
2025-11-11 09:36:24 +01:00
parent 37f5f50867
commit 2dcbd8df99
101 changed files with 978 additions and 456 deletions
@@ -3,7 +3,7 @@ use brk_traversable::Traversable;
use brk_types::{CheckedSub, StoredU64, Version};
use vecdb::{
AnyStoredVec, AnyVec, Database, EagerVec, Exit, Format, GenericStoredVec, IterableVec,
StoredIndex, StoredRaw,
VecIndex, VecValue,
};
use crate::utils::get_percentile;
@@ -13,7 +13,7 @@ use super::ComputedType;
#[derive(Clone, Debug, Traversable)]
pub struct EagerVecsBuilder<I, T>
where
I: StoredIndex,
I: VecIndex,
T: ComputedType,
{
pub first: Option<Box<EagerVec<I, T>>>,
@@ -34,7 +34,7 @@ const VERSION: Version = Version::ZERO;
impl<I, T> EagerVecsBuilder<I, T>
where
I: StoredIndex,
I: VecIndex,
T: ComputedType,
{
pub fn forced_import_compressed(
@@ -244,7 +244,7 @@ where
exit: &Exit,
) -> Result<()>
where
I2: StoredIndex + StoredRaw + CheckedSub<I2>,
I2: VecIndex + VecValue + CheckedSub<I2>,
{
self.validate_computed_version_or_reset(
source.version() + first_indexes.version() + count_indexes.version(),
@@ -403,7 +403,7 @@ where
exit: &Exit,
) -> Result<()>
where
I2: StoredIndex + StoredRaw + CheckedSub<I2>,
I2: VecIndex + VecValue + CheckedSub<I2>,
{
if self.pct90.is_some()
|| self.pct75.is_some()
@@ -1,6 +1,6 @@
use brk_traversable::Traversable;
use brk_types::Version;
use vecdb::{FromCoarserIndex, IterableBoxedVec, IterableCloneableVec, LazyVecFrom2, StoredIndex};
use vecdb::{FromCoarserIndex, IterableBoxedVec, IterableCloneableVec, LazyVecFrom2, VecIndex};
use crate::grouped::{EagerVecsBuilder, VecBuilderOptions};
@@ -10,9 +10,9 @@ use super::ComputedType;
#[derive(Clone, Traversable)]
pub struct LazyVecsBuilder<I, T, S1I, S2T>
where
I: StoredIndex,
I: VecIndex,
T: ComputedType,
S1I: StoredIndex,
S1I: VecIndex,
S2T: ComputedType,
{
pub first: Option<Box<LazyVecFrom2<I, T, S1I, T, I, S2T>>>,
@@ -28,9 +28,9 @@ const VERSION: Version = Version::ZERO;
impl<I, T, S1I, S2T> LazyVecsBuilder<I, T, S1I, S2T>
where
I: StoredIndex,
I: VecIndex,
T: ComputedType + 'static,
S1I: StoredIndex + 'static + FromCoarserIndex<I>,
S1I: VecIndex + 'static + FromCoarserIndex<I>,
S2T: ComputedType,
{
#[allow(clippy::too_many_arguments)]
+13 -11
View File
@@ -1,23 +1,25 @@
use std::ops::{Add, AddAssign, Div};
use vecdb::StoredCompressed;
use vecdb::{Compressable, Formattable};
pub trait ComputedType
where
Self: StoredCompressed
+ From<usize>
+ Div<usize, Output = Self>
+ Add<Output = Self>
+ AddAssign
+ Ord,
{
}
impl<T> ComputedType for T where
T: StoredCompressed
Self: Compressable
+ From<usize>
+ Div<usize, Output = Self>
+ Add<Output = Self>
+ AddAssign
+ Ord
+ Formattable,
{
}
impl<T> ComputedType for T where
T: Compressable
+ From<usize>
+ Div<usize, Output = Self>
+ Add<Output = Self>
+ AddAssign
+ Ord
+ Formattable
{
}
@@ -7,7 +7,7 @@ use brk_types::{
};
use vecdb::{
AnyVec, AnyWritableVec, CollectableVec, Database, EagerVec, Exit, GenericStoredVec,
IterableCloneableVec, StoredIndex, TypedVecIterator,
IterableCloneableVec, TypedVecIterator, VecIndex,
};
use crate::{
@@ -3,7 +3,7 @@ use brk_traversable::Traversable;
use brk_types::{Date, DateIndex, Dollars, StoredF32, Version};
use vecdb::{
AnyStoredVec, AnyVec, CollectableVec, Database, EagerVec, Exit, GenericStoredVec, IterableVec,
StoredIndex, TypedVecIterator,
TypedVecIterator, VecIndex,
};
use crate::{
@@ -3,7 +3,7 @@ use brk_traversable::Traversable;
use brk_types::{Date, DateIndex, Dollars, StoredF32, Version};
use vecdb::{
AnyStoredVec, AnyVec, BoxedVecIterator, CollectableVec, Database, EagerVec, Exit,
GenericStoredVec, IterableVec, StoredIndex,
GenericStoredVec, IterableVec, VecIndex,
};
use crate::{Indexes, grouped::source::Source, indexes};
@@ -3,8 +3,8 @@ use brk_indexer::Indexer;
use brk_traversable::Traversable;
use brk_types::{Bitcoin, Close, Dollars, Height, Sats, TxIndex, Version};
use vecdb::{
CollectableVec, Database, Exit, IterableCloneableVec, LazyVecFrom1, LazyVecFrom3, StoredIndex,
StoredVec,
CollectableVec, Database, Exit, IterableCloneableVec, LazyVecFrom1, LazyVecFrom3, StoredVec,
VecIndex,
};
use crate::{Indexes, grouped::Source, indexes, price};