Skip to main content

reifydb_sqlite/
error.rs

1// SPDX-License-Identifier: Apache-2.0
2// Copyright (c) 2025 ReifyDB
3
4use std::io::Error as IoError;
5
6use rusqlite::Error as SqlError;
7use thiserror::Error;
8
9pub type SqliteResult<T> = Result<T, SqliteError>;
10
11#[derive(Debug, Error)]
12pub enum SqliteError {
13	#[error("failed to connect to SQLite database at {path}: {source}")]
14	Connect {
15		path: String,
16		#[source]
17		source: SqlError,
18	},
19
20	#[error("failed to create directory for SQLite database at {path}: {source}")]
21	CreateDir {
22		path: String,
23		#[source]
24		source: IoError,
25	},
26
27	#[error("failed to apply pragma {name}: {source}")]
28	Pragma {
29		name: String,
30		#[source]
31		source: SqlError,
32	},
33
34	#[error("failed to execute statement {statement}: {source}")]
35	Execute {
36		statement: String,
37		#[source]
38		source: SqlError,
39	},
40}