pub struct DeltaLog {
pub inserts: Vec<(VectorId, Vec<f32>)>,
pub deletes: Vec<VectorId>,
pub base_snapshot_time: u64,
pub sequence_number: u64,
}Expand description
Delta log for tracking changes between index snapshots
Fields§
§inserts: Vec<(VectorId, Vec<f32>)>Inserted vectors since last snapshot
deletes: Vec<VectorId>Deleted vector IDs since last snapshot
base_snapshot_time: u64Timestamp of the base snapshot
sequence_number: u64Current log sequence number
Implementations§
Source§impl DeltaLog
impl DeltaLog
Sourcepub fn record_insert(&mut self, id: VectorId, vector: Vec<f32>)
pub fn record_insert(&mut self, id: VectorId, vector: Vec<f32>)
Record an insert
Sourcepub fn record_delete(&mut self, id: VectorId)
pub fn record_delete(&mut self, id: VectorId)
Record a delete
Sourcepub fn should_compact(&self, threshold: usize) -> bool
pub fn should_compact(&self, threshold: usize) -> bool
Check if log should be compacted
Trait Implementations§
Source§impl<'de> Deserialize<'de> for DeltaLog
impl<'de> Deserialize<'de> for DeltaLog
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for DeltaLog
impl RefUnwindSafe for DeltaLog
impl Send for DeltaLog
impl Sync for DeltaLog
impl Unpin for DeltaLog
impl UnsafeUnpin for DeltaLog
impl UnwindSafe for DeltaLog
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more