mirror of
https://github.com/Cuprate/cuprate.git
synced 2025-01-25 03:55:52 +00:00
a438279aa8
* storage: port some code `cuprate-blockchain` -> `database` * database: remove `Tables` references * database: remove old `cuprate-blockchain` type references * find/replace `cuprate_blockchain` -> `database`, add `create_db()` * database: fix redb * database: use readme for docs, link in `lib.rs` * database: fix `open_db_ro`, `open_db_rw`, `create_db` behavior * database: add open table tests * database: fix tests, remove blockchain specific references * database: remove `ReaderThreads`, make `db_directory` mandatory * initial `cuprate-blockchain` split * fix doc links * rename, fix database config * blockchain: create `crate::open()`, `OpenTables::create_tables()` * more compat fixes * fix imports * fix conflicts * align cargo.toml * docs * fixes * add `unused_crate_dependencies` lint, fix * blockchain: add open table tests
74 lines
2.1 KiB
Rust
74 lines
2.1 KiB
Rust
//! General constants used throughout `cuprate-blockchain`.
|
|
|
|
//---------------------------------------------------------------------------------------------------- Import
|
|
use cfg_if::cfg_if;
|
|
|
|
//---------------------------------------------------------------------------------------------------- Error Messages
|
|
/// Corrupt database error message.
|
|
///
|
|
/// The error message shown to end-users in panic
|
|
/// messages if we think the database is corrupted.
|
|
///
|
|
/// This is meant to be user-friendly.
|
|
pub const DATABASE_CORRUPT_MSG: &str = r"Cuprate has encountered a fatal error. The database may be corrupted.
|
|
|
|
TODO: instructions on:
|
|
1. What to do
|
|
2. How to fix (re-sync, recover, etc)
|
|
3. General advice for preventing corruption
|
|
4. etc";
|
|
|
|
//---------------------------------------------------------------------------------------------------- Misc
|
|
/// Static string of the `crate` being used as the database backend.
|
|
///
|
|
/// | Backend | Value |
|
|
/// |---------|-------|
|
|
/// | `heed` | `"heed"`
|
|
/// | `redb` | `"redb"`
|
|
pub const DATABASE_BACKEND: &str = {
|
|
cfg_if! {
|
|
if #[cfg(all(feature = "redb", not(feature = "heed")))] {
|
|
"redb"
|
|
} else {
|
|
"heed"
|
|
}
|
|
}
|
|
};
|
|
|
|
/// Cuprate's database filename.
|
|
///
|
|
/// Used in [`Config::db_file`](crate::config::Config::db_file).
|
|
///
|
|
/// | Backend | Value |
|
|
/// |---------|-------|
|
|
/// | `heed` | `"data.mdb"`
|
|
/// | `redb` | `"data.redb"`
|
|
pub const DATABASE_DATA_FILENAME: &str = {
|
|
cfg_if! {
|
|
if #[cfg(all(feature = "redb", not(feature = "heed")))] {
|
|
"data.redb"
|
|
} else {
|
|
"data.mdb"
|
|
}
|
|
}
|
|
};
|
|
|
|
/// Cuprate's database lock filename.
|
|
///
|
|
/// | Backend | Value |
|
|
/// |---------|-------|
|
|
/// | `heed` | `Some("lock.mdb")`
|
|
/// | `redb` | `None` (redb doesn't use a file lock)
|
|
pub const DATABASE_LOCK_FILENAME: Option<&str> = {
|
|
cfg_if! {
|
|
if #[cfg(all(feature = "redb", not(feature = "heed")))] {
|
|
None
|
|
} else {
|
|
Some("lock.mdb")
|
|
}
|
|
}
|
|
};
|
|
|
|
//---------------------------------------------------------------------------------------------------- Tests
|
|
#[cfg(test)]
|
|
mod test {}
|