1#![deny(clippy::all, clippy::pedantic, clippy::disallowed_methods)]
2#![allow(
4 clippy::default_trait_access,
5 clippy::if_not_else,
6 clippy::iter_not_returning_iterator,
7 clippy::missing_errors_doc,
8 clippy::missing_panics_doc,
9 clippy::module_name_repetitions,
10 clippy::must_use_candidate,
11 clippy::needless_pass_by_value,
12 clippy::redundant_closure_for_method_calls,
13 clippy::similar_names,
14 clippy::too_many_lines,
15 clippy::unnecessary_wraps,
16 clippy::unreadable_literal
17)]
18
19pub use db::{
66 Builder, CacheStats, Database, MultimapTableDefinition, MultimapTableHandle, ReadOnlyDatabase,
67 ReadableDatabase, RepairSession, StorageBackend, TableDefinition, TableHandle,
68 UntypedMultimapTableHandle, UntypedTableHandle,
69};
70pub use error::{
71 CommitError, CompactionError, DatabaseError, Error, SavepointError, SetDurabilityError,
72 StorageError, TableError, TransactionError,
73};
74pub use legacy_tuple_types::Legacy;
75pub use multimap_table::{
76 MultimapRange, MultimapTable, MultimapValue, ReadOnlyMultimapTable,
77 ReadOnlyUntypedMultimapTable, ReadableMultimapTable,
78};
79pub use table::{
80 ExtractIf, Range, ReadOnlyTable, ReadOnlyUntypedTable, ReadableTable, ReadableTableMetadata,
81 Table, TableStats,
82};
83pub use transactions::{DatabaseStats, Durability, ReadTransaction, WriteTransaction};
84pub use tree_store::{AccessGuard, AccessGuardMut, AccessGuardMutInPlace, Savepoint};
85pub use types::{Key, MutInPlaceValue, TypeName, Value};
86
87pub type Result<T = (), E = StorageError> = std::result::Result<T, E>;
88
89pub mod backends;
90mod complex_types;
91mod db;
92mod error;
93mod legacy_tuple_types;
94mod multimap_table;
95mod sealed;
96mod table;
97mod transaction_tracker;
98mod transactions;
99mod tree_store;
100mod tuple_types;
101mod types;
102
103#[cfg(test)]
104fn create_tempfile() -> tempfile::NamedTempFile {
105 if cfg!(target_os = "wasi") {
106 tempfile::NamedTempFile::new_in("/tmp").unwrap()
107 } else {
108 tempfile::NamedTempFile::new().unwrap()
109 }
110}