pub mod read;
pub mod snapshot;
pub mod state;
pub mod visibility;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
pub enum IsolationLevel {
ReadUncommitted,
ReadCommitted,
#[default]
SnapshotIsolation,
Serializable,
}
impl From<reddb_rql::ast::IsolationLevel> for IsolationLevel {
fn from(level: reddb_rql::ast::IsolationLevel) -> Self {
match level {
reddb_rql::ast::IsolationLevel::ReadUncommitted => Self::ReadUncommitted,
reddb_rql::ast::IsolationLevel::ReadCommitted => Self::ReadCommitted,
reddb_rql::ast::IsolationLevel::SnapshotIsolation => Self::SnapshotIsolation,
reddb_rql::ast::IsolationLevel::Serializable => Self::Serializable,
}
}
}
pub use snapshot::{Snapshot, SnapshotManager, TxnContext, Xid, XID_NONE};
pub use visibility::is_visible;