pub struct Checkpointer { /* private fields */ }Expand description
Checkpoint manager
Responsible for transferring committed transactions from the WAL to the main database file.
Implementations§
Source§impl Checkpointer
impl Checkpointer
Sourcepub fn new(mode: CheckpointMode) -> Self
pub fn new(mode: CheckpointMode) -> Self
Create a new checkpointer with the given mode
Sourcepub fn default_mode() -> Self
pub fn default_mode() -> Self
Create a checkpointer with default mode (Full)
Sourcepub fn checkpoint(
&self,
pager: &Pager,
wal_path: &Path,
) -> Result<CheckpointResult, CheckpointError>
pub fn checkpoint( &self, pager: &Pager, wal_path: &Path, ) -> Result<CheckpointResult, CheckpointError>
Sourcepub fn recover(
pager: &Pager,
wal_path: &Path,
) -> Result<CheckpointResult, CheckpointError>
pub fn recover( pager: &Pager, wal_path: &Path, ) -> Result<CheckpointResult, CheckpointError>
Perform crash recovery
Called on database open to apply any committed transactions from the WAL that weren’t checkpointed before the crash. If a checkpoint was interrupted (checkpoint_in_progress flag set), re-applies all WAL records from scratch.
§Arguments
pager- The Pager to recover intowal_path- Path to the WAL file
§Returns
Recovery statistics or error
Auto Trait Implementations§
impl Freeze for Checkpointer
impl RefUnwindSafe for Checkpointer
impl Send for Checkpointer
impl Sync for Checkpointer
impl Unpin for Checkpointer
impl UnsafeUnpin for Checkpointer
impl UnwindSafe for Checkpointer
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> 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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request