use super::transaction::{TxId, TX_ID_COMMITTED};
#[derive(Debug, Clone, Default)]
pub struct MvccStats {
pub total_begun: u64,
pub total_committed: u64,
pub total_rolled_back: u64,
pub total_aborted: u64,
pub active_count: usize,
pub total_versions: usize,
pub versions_vacuumed: u64,
pub serialization_conflicts: u64,
pub write_conflicts: u64,
pub deadlocks_detected: u64,
pub watermark: TxId,
}
pub fn committed_watermark(committed: &std::collections::HashSet<TxId>) -> TxId {
committed.iter().copied().max().unwrap_or(TX_ID_COMMITTED)
}