1use thiserror::Error;
2
3#[derive(Debug, Error)]
4pub enum DataStackError {
5
6 #[error("Database open error: {0}")]
7 Database(#[from] redb::DatabaseError),
8
9 #[error("General database error: {0}")]
10 Redb(#[from] redb::Error),
11
12 #[error("Transaction error: {0}")]
13 Transaction(#[from] redb::TransactionError),
14
15 #[error("Table error: {0}")]
16 Table(#[from] redb::TableError),
17
18 #[error("Storage error: {0}")]
19 Storage(#[from] redb::StorageError),
20
21 #[error("Commit error: {0}")]
22 Commit(#[from] redb::CommitError),
23
24 #[error("Bincode error: {0}")]
25 Bincode(#[from] Box<bincode::ErrorKind>),
26
27 #[error("Serde JSON error: {0}")]
28 SerdeJson(#[from] serde_json::Error),
29
30 #[error("Invalid update: {0}")]
31 InvalidUpdate(String),
32
33 #[error("IO error: {0}")]
34 Io(#[from] std::io::Error),
35}