gluesql_core/
result.rs

1use {serde::Serialize, std::fmt::Debug, thiserror::Error as ThisError};
2
3pub use crate::{
4    ast_builder::AstBuilderError,
5    data::{
6        ConvertError, IntervalError, KeyError, LiteralError, RowError, SchemaParseError,
7        StringExtError, TableError, ValueError,
8    },
9    executor::{
10        AggregateError, AlterError, DeleteError, EvaluateError, ExecuteError, FetchError,
11        InsertError, SelectError, SortError, UpdateError, ValidateError,
12    },
13    plan::PlanError,
14    store::{AlterTableError, IndexError},
15    translate::TranslateError,
16};
17
18#[derive(ThisError, Serialize, Debug, PartialEq)]
19pub enum Error {
20    #[error("storage: {0}")]
21    StorageMsg(String),
22
23    #[error("parser: {0}")]
24    Parser(String),
25
26    #[error("translate: {0}")]
27    Translate(#[from] TranslateError),
28
29    #[error("ast-builder: {0}")]
30    AstBuilder(#[from] AstBuilderError),
31
32    #[error("alter-table: {0}")]
33    AlterTable(#[from] AlterTableError),
34    #[error("index: {0}")]
35    Index(#[from] IndexError),
36    #[error("execute: {0}")]
37    Execute(#[from] ExecuteError),
38    #[error("alter: {0}")]
39    Alter(#[from] AlterError),
40    #[error("fetch: {0}")]
41    Fetch(#[from] FetchError),
42    #[error("select: {0}")]
43    Select(#[from] SelectError),
44    #[error("evaluate: {0}")]
45    Evaluate(#[from] EvaluateError),
46    #[error("aggregate: {0}")]
47    Aggregate(#[from] AggregateError),
48    #[error("sort: {0}")]
49    Sort(#[from] SortError),
50    #[error("insert: {0}")]
51    Insert(#[from] InsertError),
52    #[error("update: {0}")]
53    Delete(#[from] DeleteError),
54    #[error("delete: {0}")]
55    Update(#[from] UpdateError),
56    #[error("table: {0}")]
57    Table(#[from] TableError),
58    #[error("validate: {0}")]
59    Validate(#[from] ValidateError),
60    #[error("row: {0}")]
61    Row(#[from] RowError),
62    #[error("key: {0}")]
63    Key(#[from] KeyError),
64    #[error("value: {0}")]
65    Value(#[from] ValueError),
66    #[error("convert: {0}")]
67    Convert(#[from] ConvertError),
68    #[error("literal: {0}")]
69    Literal(#[from] LiteralError),
70    #[error("interval: {0}")]
71    Interval(#[from] IntervalError),
72    #[error("string-ext: {0}")]
73    StringExt(#[from] StringExtError),
74    #[error("plan: {0}")]
75    Plan(#[from] PlanError),
76    #[error("schema-parse: {0}")]
77    Schema(#[from] SchemaParseError),
78}
79
80pub type Result<T, E = Error> = std::result::Result<T, E>;