Skip to main content

sapphire_retrieve/
error.rs

1use thiserror::Error;
2
3#[derive(Debug, Error)]
4pub enum Error {
5    #[cfg(feature = "sqlite-store")]
6    #[error("SQLite error: {0}")]
7    Sqlite(#[from] rusqlite::Error),
8    #[error("embedding error: {0}")]
9    Embed(String),
10    #[error("I/O error: {0}")]
11    Io(#[from] std::io::Error),
12    #[error(
13        "retrieve DB schema too new: DB version {db_version}, app version {app_version}; \
14         delete the retrieve DB file and re-sync"
15    )]
16    SchemaTooNew { db_version: i32, app_version: i32 },
17    #[cfg(feature = "lancedb-store")]
18    #[error("LanceDB error: {0}")]
19    LanceDb(#[from] lancedb::Error),
20}
21
22pub type Result<T> = std::result::Result<T, Error>;