Expand description
Internal component of the
noxudatabase.This crate is published only so the
noxuumbrella crate can depend on it. Usenoxu(noxu = "3") in applications; depend on this crate directly only if you are extending the engine internals. Its API may change without a major version bump.
Noxu DB - An embedded transactional database engine.
Public API : Environment, Database, Cursor, Transaction, DatabaseEntry, SecondaryDatabase, Sequence, etc.
This crate provides the public API for Noxu DB. It is designed to be familiar to embedded database users while being idiomatic Rust.
§Example
use noxu_db::{EnvironmentConfig, DatabaseConfig};
use std::path::PathBuf;
let env_config = EnvironmentConfig::new(PathBuf::from("/tmp/mydb"))
.with_allow_create(true)
.with_transactional(true);
let db_config = DatabaseConfig::new()
.with_allow_create(true)
.with_transactional(true);Re-exports§
pub use cache_mode::CacheMode;pub use checkpoint_config::CheckpointConfig;pub use cursor::Cursor;pub use cursor_config::CursorConfig;pub use database::Database;pub use database_config::DatabaseConfig;pub use database_entry::DatabaseEntry;pub use database_stats::BtreeStats;pub use database_stats::DatabaseStats;pub use db_iter::DbIter;pub use db_iter::DbRange;pub use disk_ordered_cursor::DiskOrderedCursor;pub use disk_ordered_cursor::DiskOrderedCursorConfig;pub use disk_ordered_cursor::open_disk_ordered_cursor_multi;pub use durability::Durability;pub use durability::ReplicaAckPolicy;pub use durability::SyncPolicy;pub use environment::Environment;pub use environment_config::EnvironmentConfig;pub use environment_config::ExceptionListenerHolder;pub use environment_mutable_config::EnvironmentMutableConfig;pub use error::EnvironmentFailureReason;pub use error::ExceptionEvent;pub use error::ExceptionListener;pub use error::ExceptionSource;pub use error::NoxuError;pub use error::Result;pub use extinction_filter::ExtinctionFilter;pub use extinction_filter::ExtinctionStatus;pub use get::Get;pub use join_config::JoinConfig;pub use join_cursor::JoinCursor;pub use lock_mode::LockMode;pub use operation_result::OperationResult;pub use operation_status::OperationStatus;pub use preload::PreloadConfig;pub use preload::PreloadStats;pub use put::Put;pub use read_options::ReadOptions;pub use scan_filter::ScanFilter;pub use scan_filter::ScanResult;pub use secondary_config::ForeignKeyDeleteAction;pub use secondary_config::ForeignKeyNullifier;pub use secondary_config::ForeignMultiKeyNullifier;pub use secondary_config::SecondaryConfig;pub use secondary_config::SecondaryKeyCreator;pub use secondary_config::SecondaryMultiKeyCreator;pub use secondary_cursor::SecondaryCursor;pub use secondary_database::SecondaryDatabase;pub use sequence::Sequence;pub use sequence_config::SequenceConfig;pub use sequence_stats::SequenceStats;pub use stats_config::StatsConfig;pub use transaction::Transaction;pub use transaction_config::TransactionConfig;pub use write_options::WriteOptions;pub use noxu_observe as observe_crate;
Modules§
- cache_
mode - Cache modes for database operations.
- checkpoint_
config - Configuration for manual checkpoint operations.
- cursor
- Cursor handle for Noxu DB.
- cursor_
config - Cursor configuration.
- database
- Database handle.
- database_
config - Database configuration.
- database_
entry - Database entry for keys and data.
- database_
stats - Per-database statistics.
- db_iter
- Lazy iterator adapters for
crate::Database. - disk_
ordered_ cursor - Disk-ordered cursor for high-throughput unordered scans.
- durability
- Durability and sync policies for transactions.
- environment
- Environment handle.
- environment_
config - Environment configuration.
- environment_
mutable_ config - Runtime-mutable environment configuration.
- error
- Error types for Noxu DB.
- extinction_
filter - Filter interface for identifying extinct records.
- get
- Get operation types.
- join_
config - Configuration for JoinCursor.
- join_
cursor - Join cursor for multi-secondary-index intersection queries.
- lock_
mode - Lock modes for read operations.
- operation_
result - Result of database operations.
- operation_
status - Operation status for database operations.
- preload
- Database preloading configuration and statistics.
- put
- Put operation types.
- read_
options - Read operation options.
- scan_
filter - Filter interface for sequential database scans.
- secondary_
config - Secondary database configuration.
- secondary_
cursor - Secondary cursor for iterating a secondary (index) database.
- secondary_
database - Secondary database handle.
- sequence
- Sequence handle.
- sequence_
config - Sequence configuration.
- sequence_
stats - Sequence statistics.
- stats_
config - Configuration for statistics retrieval operations.
- transaction
- Transaction handle for Noxu DB.
- transaction_
config - Transaction configuration.
- unimplemented_
params - Registry of
EnvironmentConfigparameters that are accepted but not yet implemented. - write_
options - Write operation options.
Structs§
- AckWait
Error - Re-exports of
noxu-dbitypes that appear in public API signatures. - Environment
Stats - Aggregated statistics for the environment.
- Prepared
LnReplay - Re-exports of
noxu-recoverytypes that appear in public API signatures. - Prepared
TxnInfo - Re-exports of
noxu-recoverytypes that appear in public API signatures. - Verify
Config - Configuration for verification.
- Verify
Result - Result of an environment verification.
Enums§
- AckWait
Error Kind - Re-exports of
noxu-dbitypes that appear in public API signatures. - Prepared
LnOperation - Re-exports of
noxu-recoverytypes that appear in public API signatures. - Replica
AckPolicy Kind - Re-exports of
noxu-dbitypes that appear in public API signatures. - Verify
Error - Types of verification errors.
Traits§
- Replica
AckCoordinator - Re-exports of
noxu-dbitypes that appear in public API signatures.
Type Aliases§
- Mutex
- Re-export of the synchronization primitive that appears in this crate’s
public API.
SecondaryDatabase::opentakes the primary database wrapped inArc<Mutex<Database>>; this re-export lets callers name thatMutex(and its guard) without depending on the internalnoxu-synccrate directly — reachable asnoxu::Mutexthrough the umbrella. Mutual exclusion primitive backed by a futex. - Mutex
Guard - Re-export of the synchronization primitive that appears in this crate’s
public API.
SecondaryDatabase::opentakes the primary database wrapped inArc<Mutex<Database>>; this re-export lets callers name thatMutex(and its guard) without depending on the internalnoxu-synccrate directly — reachable asnoxu::Mutexthrough the umbrella. RAII guard returned byMutex::lock. - Shared
Replica AckCoordinator - Re-exports of
noxu-dbitypes that appear in public API signatures.