sql_middleware/
error.rs

1use thiserror::Error;
2
3#[cfg(feature = "libsql")]
4use deadpool_libsql;
5#[cfg(feature = "sqlite")]
6use deadpool_sqlite::rusqlite;
7#[cfg(feature = "mssql")]
8use tiberius;
9#[cfg(feature = "postgres")]
10use tokio_postgres;
11#[cfg(feature = "turso")]
12use turso;
13
14#[derive(Debug, Error)]
15pub enum SqlMiddlewareDbError {
16    #[cfg(feature = "postgres")]
17    #[error(transparent)]
18    PostgresError(#[from] tokio_postgres::Error),
19
20    #[cfg(feature = "sqlite")]
21    #[error(transparent)]
22    SqliteError(#[from] rusqlite::Error),
23
24    #[cfg(feature = "mssql")]
25    #[error(transparent)]
26    MssqlError(#[from] tiberius::error::Error),
27
28    #[cfg(feature = "postgres")]
29    #[error(transparent)]
30    PoolErrorPostgres(#[from] deadpool::managed::PoolError<tokio_postgres::Error>),
31
32    #[cfg(feature = "sqlite")]
33    #[error(transparent)]
34    PoolErrorSqlite(#[from] deadpool::managed::PoolError<rusqlite::Error>),
35
36    #[cfg(feature = "mssql")]
37    #[error(transparent)]
38    PoolErrorMssql(#[from] deadpool::managed::PoolError<tiberius::error::Error>),
39
40    #[cfg(feature = "libsql")]
41    #[error(transparent)]
42    LibsqlError(#[from] deadpool_libsql::libsql::Error),
43
44    #[cfg(feature = "libsql")]
45    #[error(transparent)]
46    PoolErrorLibsql(#[from] deadpool_libsql::PoolError),
47
48    #[cfg(feature = "turso")]
49    #[error(transparent)]
50    TursoError(#[from] turso::Error),
51
52    #[cfg(feature = "mssql")]
53    #[error("SQL Server connection pool error: {0}")]
54    TiberiusPoolError(String),
55
56    #[error("Configuration error: {0}")]
57    ConfigError(String),
58
59    #[error("Connection error: {0}")]
60    ConnectionError(String),
61
62    #[error("Parameter conversion error: {0}")]
63    ParameterError(String),
64
65    #[error("SQL execution error: {0}")]
66    ExecutionError(String),
67
68    #[error("Unimplemented feature: {0}")]
69    Unimplemented(String),
70
71    #[error("Other database error: {0}")]
72    Other(String),
73}