pub struct TransactionManager { /* private fields */ }Expand description
Transaction Manager
Coordinates transactions and manages the WAL.
Implementations§
Source§impl TransactionManager
impl TransactionManager
Sourcepub fn new(pager: Arc<Pager>, wal_path: impl AsRef<Path>) -> Result<Self>
pub fn new(pager: Arc<Pager>, wal_path: impl AsRef<Path>) -> Result<Self>
Create a new transaction manager
§Arguments
pager- The pager to use for page I/Owal_path- Path to the WAL file
Sourcepub fn active_transactions(&self) -> Vec<u64>
pub fn active_transactions(&self) -> Vec<u64>
Get list of active transaction IDs
Sourcepub fn sync_wal(&self) -> Result<()>
pub fn sync_wal(&self) -> Result<()>
Sync WAL to disk. Drains every byte that has been reserved
via the coordinator — i.e. waits until the coordinator’s
next_lsn is durable.
Sourcepub fn has_active_transactions(&self) -> bool
pub fn has_active_transactions(&self) -> bool
Check if there are active transactions
Auto Trait Implementations§
impl !Freeze for TransactionManager
impl !RefUnwindSafe for TransactionManager
impl Send for TransactionManager
impl Sync for TransactionManager
impl Unpin for TransactionManager
impl UnsafeUnpin for TransactionManager
impl UnwindSafe for TransactionManager
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