fedimint_cursed_redb/
error.rs1use fedimint_core::db::DatabaseError;
2#[cfg(not(target_family = "wasm"))]
3use fedimint_db_locked::DbLockError;
4
5#[derive(Debug, thiserror::Error)]
9#[non_exhaustive]
10pub enum MemAndRedbOpenError {
11 #[cfg(not(target_family = "wasm"))]
13 #[error("db path must have a base dir")]
14 NoBaseDir,
15
16 #[cfg(not(target_family = "wasm"))]
18 #[error(transparent)]
19 CreateDir(#[from] std::io::Error),
20
21 #[cfg(not(target_family = "wasm"))]
23 #[error(transparent)]
24 Lock(#[from] DbLockError),
25
26 #[error("Failed to open redb v2 database for migration")]
29 OpenV2(#[source] Box<dyn std::error::Error + Send + Sync>),
30
31 #[error("Failed to upgrade redb database to v3 format")]
33 UpgradeV2(#[source] Box<dyn std::error::Error + Send + Sync>),
34
35 #[error("Failed to open redb database after v2->v3 migration")]
37 OpenMigrated(#[source] Box<dyn std::error::Error + Send + Sync>),
38
39 #[error("Failed to create/open redb database")]
41 Open(#[source] Box<dyn std::error::Error + Send + Sync>),
42
43 #[error(transparent)]
45 Load(#[from] DatabaseError),
46}