structdb/
errors.rs

1use crate::builder::Version;
2
3pub type RocksResult<I> = std::result::Result<I, rocksdb::Error>;
4
5/// Error type for migration related errors.
6#[derive(thiserror::Error, Debug)]
7pub enum Error {
8    #[error("incompatible DB version")]
9    IncompatibleDbVersion { version: Version, expected: Version },
10    #[error("existing DB version not found")]
11    VersionNotFound,
12    #[error("invalid version")]
13    InvalidDbVersion,
14    #[error("migration not found: {0:?}")]
15    MigrationNotFound(Version),
16    #[error("duplicate migration: {0:?}")]
17    DuplicateMigration(Version),
18    #[error("db error")]
19    DbError(#[from] rocksdb::Error),
20    #[error("column family not found")]
21    ColumnFamilyNotFound(String),
22    #[error("serialization failed")]
23    SerializationFailed(String),
24    #[error("deserialization failed")]
25    DeserializationFailed(String),
26}
27
28pub type Result<I> = std::result::Result<I, Error>;