pub enum CdcStore {
Memory(MemoryCdcStorage),
}Expand description
CDC storage abstraction enum.
Provides a unified interface over different CDC storage backends. Currently supports in-memory storage, with room for future backends.
Variants§
Memory(MemoryCdcStorage)
In-memory CDC storage backed by a BTreeMap.
Implementations§
Source§impl CdcStore
impl CdcStore
Sourcepub fn write(&self, cdc: &Cdc) -> CdcStorageResult<()>
pub fn write(&self, cdc: &Cdc) -> CdcStorageResult<()>
Write a CDC entry.
Sourcepub fn read(&self, version: CommitVersion) -> CdcStorageResult<Option<Cdc>>
pub fn read(&self, version: CommitVersion) -> CdcStorageResult<Option<Cdc>>
Read a CDC entry by version.
Sourcepub fn read_range(
&self,
start: Bound<CommitVersion>,
end: Bound<CommitVersion>,
batch_size: u64,
) -> CdcStorageResult<CdcBatch>
pub fn read_range( &self, start: Bound<CommitVersion>, end: Bound<CommitVersion>, batch_size: u64, ) -> CdcStorageResult<CdcBatch>
Read CDC entries in a version range.
Sourcepub fn count(&self, version: CommitVersion) -> CdcStorageResult<usize>
pub fn count(&self, version: CommitVersion) -> CdcStorageResult<usize>
Count CDC changes at a specific version.
Sourcepub fn min_version(&self) -> CdcStorageResult<Option<CommitVersion>>
pub fn min_version(&self) -> CdcStorageResult<Option<CommitVersion>>
Get the minimum (oldest) CDC version in storage.
Sourcepub fn max_version(&self) -> CdcStorageResult<Option<CommitVersion>>
pub fn max_version(&self) -> CdcStorageResult<Option<CommitVersion>>
Get the maximum (newest) CDC version in storage.
Sourcepub fn delete_before(
&self,
version: CommitVersion,
) -> CdcStorageResult<DropBeforeResult>
pub fn delete_before( &self, version: CommitVersion, ) -> CdcStorageResult<DropBeforeResult>
Delete all CDC entries with version strictly less than the given version.
Trait Implementations§
Source§impl CdcStorage for CdcStore
impl CdcStorage for CdcStore
Source§fn write(&self, cdc: &Cdc) -> CdcStorageResult<()>
fn write(&self, cdc: &Cdc) -> CdcStorageResult<()>
Write a CDC entry (fully resolved values). Read more
Source§fn read(&self, version: CommitVersion) -> CdcStorageResult<Option<Cdc>>
fn read(&self, version: CommitVersion) -> CdcStorageResult<Option<Cdc>>
Read a CDC entry by version. Read more
Source§fn read_range(
&self,
start: Bound<CommitVersion>,
end: Bound<CommitVersion>,
batch_size: u64,
) -> CdcStorageResult<CdcBatch>
fn read_range( &self, start: Bound<CommitVersion>, end: Bound<CommitVersion>, batch_size: u64, ) -> CdcStorageResult<CdcBatch>
Read CDC entries in a version range. Read more
Source§fn count(&self, version: CommitVersion) -> CdcStorageResult<usize>
fn count(&self, version: CommitVersion) -> CdcStorageResult<usize>
Count CDC changes at a specific version. Read more
Source§fn min_version(&self) -> CdcStorageResult<Option<CommitVersion>>
fn min_version(&self) -> CdcStorageResult<Option<CommitVersion>>
Get the minimum (oldest) CDC version in storage. Read more
Source§fn max_version(&self) -> CdcStorageResult<Option<CommitVersion>>
fn max_version(&self) -> CdcStorageResult<Option<CommitVersion>>
Get the maximum (newest) CDC version in storage. Read more
Source§fn drop_before(
&self,
version: CommitVersion,
) -> CdcStorageResult<DropBeforeResult>
fn drop_before( &self, version: CommitVersion, ) -> CdcStorageResult<DropBeforeResult>
Delete all CDC entries with version strictly less than the given version.
Returns the count and entry information for stats tracking.
Source§fn exists(&self, version: CommitVersion) -> CdcStorageResult<bool>
fn exists(&self, version: CommitVersion) -> CdcStorageResult<bool>
Check if a CDC entry exists at the given version.
Source§fn range(
&self,
start: Bound<CommitVersion>,
end: Bound<CommitVersion>,
) -> CdcStorageResult<CdcBatch>
fn range( &self, start: Bound<CommitVersion>, end: Bound<CommitVersion>, ) -> CdcStorageResult<CdcBatch>
Convenience method with default batch size.
Auto Trait Implementations§
impl Freeze for CdcStore
impl !RefUnwindSafe for CdcStore
impl Send for CdcStore
impl Sync for CdcStore
impl Unpin for CdcStore
impl UnsafeUnpin for CdcStore
impl !UnwindSafe for CdcStore
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