datastack 0.4.0

A document-based acid local database.
Documentation
use thiserror::Error;

#[derive(Debug, Error)]
pub enum DataStackError {

    #[error("Database open error: {0}")]
    Database(#[from] redb::DatabaseError),

    #[error("General database error: {0}")]
    Redb(#[from] redb::Error),
    
    #[error("Transaction error: {0}")]
    Transaction(#[from] redb::TransactionError),

    #[error("Table error: {0}")]
    Table(#[from] redb::TableError),

    #[error("Storage error: {0}")]
    Storage(#[from] redb::StorageError),

    #[error("Commit error: {0}")]
    Commit(#[from] redb::CommitError),

    #[error("Bincode error: {0}")]
    Bincode(#[from] Box<bincode::ErrorKind>),

    #[error("Serde JSON error: {0}")]
    SerdeJson(#[from] serde_json::Error),

    #[error("Invalid update: {0}")]
    InvalidUpdate(String),

    #[error("IO error: {0}")]
    Io(#[from] std::io::Error),
}