Skip to main content

ddb_core/
error.rs

1use thiserror::Error;
2
3#[derive(Error, Debug)]
4pub enum DdbError {
5    #[error("Parse error: {0}")]
6    ParseError(String),
7
8    #[error("Syntax error: {0}")]
9    SyntaxError(String),
10
11    #[error("IO error: {0}")]
12    IoError(#[from] std::io::Error),
13
14    #[error("Configuration error: {0}")]
15    ConfigError(String),
16
17    #[error("Table not found: {0}")]
18    TableNotFound(String),
19
20    #[error("Column not found: {0}")]
21    ColumnNotFound(String),
22
23    #[error("Invalid column count: expected {expected}, got {actual}")]
24    InvalidColumnCount { expected: usize, actual: usize },
25
26    #[error("Type error: {0}")]
27    TypeError(String),
28
29    #[error("Evaluation error: {0}")]
30    EvaluationError(String),
31
32    #[error("Lock error: {0}")]
33    LockError(String),
34
35    #[error("Transaction error: {0}")]
36    TransactionError(String),
37
38    #[error("Invalid query: {0}")]
39    InvalidQuery(String),
40
41    #[error("Function error: {0}")]
42    FunctionError(String),
43
44    #[error("Serialization error: {0}")]
45    SerializationError(String),
46
47    #[error("Execution error: {0}")]
48    ExecutionError(String),
49}
50
51pub type Result<T> = std::result::Result<T, DdbError>;