1use crate::builder::Version;
2
3pub type RocksResult<I> = std::result::Result<I, rocksdb::Error>;
4
5#[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>;