Skip to main content

TransactionManager

Struct TransactionManager 

Source
pub struct TransactionManager { /* private fields */ }
๐Ÿ‘ŽDeprecated since 0.1.0:

Use MvccTransactionManager from wal_integration for production workloads with durability

Expand description

Transaction manager for MVCC (snapshot-only, no WAL durability)

ยงDeprecation Notice

This implementation is deprecated for production use. It provides snapshot isolation but does NOT include WAL integration for crash recovery.

ยงMigration Guide

For production workloads requiring durability, use MvccTransactionManager from sochdb_storage::wal_integration which includes:

  • Write-ahead logging for crash recovery
  • Serializable Snapshot Isolation (SSI)
  • Group commit for high throughput
  • Event-driven async architecture

ยงWhen to Use This Implementation

  • Unit testing without durability overhead
  • Ephemeral in-memory operations
  • Prototyping snapshot isolation logic

ยงSee Also

Implementationsยง

Sourceยง

impl TransactionManager

Source

pub fn new() -> Self

Create a new transaction manager

Source

pub fn begin(&self) -> (TxnId, Timestamp)

Begin a new transaction

Source

pub fn acquire_snapshot(&self, txn_id: TxnId) -> Snapshot

Acquire a read snapshot

Source

pub fn commit(&self, txn_id: TxnId) -> Option<Timestamp>

Commit a transaction

Source

pub fn abort(&self, txn_id: TxnId) -> bool

Abort a transaction

Source

pub fn get_status(&self, txn_id: TxnId) -> Option<TxnStatus>

Get transaction status

Source

pub fn get_commit_ts(&self, txn_id: TxnId) -> Option<Timestamp>

Get commit timestamp for a transaction

Source

pub fn min_active_txn_id(&self) -> TxnId

Get minimum active transaction ID (for garbage collection)

Source

pub fn current_timestamp(&self) -> Timestamp

Get current timestamp

Source

pub fn gc(&self, watermark: Timestamp) -> usize

Garbage collect old transaction records

Removes committed transactions older than the watermark.

Trait Implementationsยง

Sourceยง

impl Default for TransactionManager

Sourceยง

fn default() -> Self

Returns the โ€œdefault valueโ€ for a type. Read more

Auto Trait Implementationsยง

Blanket Implementationsยง

Sourceยง

impl<T> Any for T
where T: 'static + ?Sized,

Sourceยง

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Sourceยง

impl<T> Borrow<T> for T
where T: ?Sized,

Sourceยง

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Sourceยง

impl<T> BorrowMut<T> for T
where T: ?Sized,

Sourceยง

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Sourceยง

impl<T> From<T> for T

Sourceยง

fn from(t: T) -> T

Returns the argument unchanged.

Sourceยง

impl<T> Instrument for T

Sourceยง

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Sourceยง

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Sourceยง

impl<T, U> Into<U> for T
where U: From<T>,

Sourceยง

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Sourceยง

impl<T> IntoEither for T

Sourceยง

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 more
Sourceยง

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Sourceยง

impl<T> Pointable for T

Sourceยง

const ALIGN: usize

The alignment of pointer.
Sourceยง

type Init = T

The type for initializers.
Sourceยง

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Sourceยง

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Sourceยง

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Sourceยง

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Sourceยง

impl<T> Same for T

Sourceยง

type Output = T

Should always be Self
Sourceยง

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Sourceยง

type Error = Infallible

The type returned in the event of a conversion error.
Sourceยง

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Sourceยง

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Sourceยง

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Sourceยง

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Sourceยง

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Sourceยง

fn vzip(self) -> V

Sourceยง

impl<T> WithSubscriber for T

Sourceยง

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Sourceยง

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more