reddb_engine/transaction/
mod.rs1pub mod read;
4pub mod snapshot;
5pub mod state;
6pub mod visibility;
7
8#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
10pub enum IsolationLevel {
11 ReadUncommitted,
13 ReadCommitted,
15 #[default]
17 SnapshotIsolation,
18 Serializable,
20}
21
22impl From<reddb_rql::ast::IsolationLevel> for IsolationLevel {
23 fn from(level: reddb_rql::ast::IsolationLevel) -> Self {
24 match level {
25 reddb_rql::ast::IsolationLevel::ReadUncommitted => Self::ReadUncommitted,
26 reddb_rql::ast::IsolationLevel::ReadCommitted => Self::ReadCommitted,
27 reddb_rql::ast::IsolationLevel::SnapshotIsolation => Self::SnapshotIsolation,
28 reddb_rql::ast::IsolationLevel::Serializable => Self::Serializable,
29 }
30 }
31}
32
33pub use snapshot::{Snapshot, SnapshotManager, TxnContext, Xid, XID_NONE};
34pub use visibility::is_visible;