Skip to main content

Crate noxu_db

Crate noxu_db 

Source
Expand description

Internal component of the noxu database.

This crate is published only so the noxu umbrella crate can depend on it. Use noxu (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 EnvironmentConfig parameters that are accepted but not yet implemented.
write_options
Write operation options.

Structs§

AckWaitError
Re-exports of noxu-dbi types that appear in public API signatures.
EnvironmentStats
Aggregated statistics for the environment.
PreparedLnReplay
Re-exports of noxu-recovery types that appear in public API signatures.
PreparedTxnInfo
Re-exports of noxu-recovery types that appear in public API signatures.
VerifyConfig
Configuration for verification.
VerifyResult
Result of an environment verification.

Enums§

AckWaitErrorKind
Re-exports of noxu-dbi types that appear in public API signatures.
PreparedLnOperation
Re-exports of noxu-recovery types that appear in public API signatures.
ReplicaAckPolicyKind
Re-exports of noxu-dbi types that appear in public API signatures.
VerifyError
Types of verification errors.

Traits§

ReplicaAckCoordinator
Re-exports of noxu-dbi types that appear in public API signatures.

Type Aliases§

Mutex
Re-export of the synchronization primitive that appears in this crate’s public API. SecondaryDatabase::open takes the primary database wrapped in Arc<Mutex<Database>>; this re-export lets callers name that Mutex (and its guard) without depending on the internal noxu-sync crate directly — reachable as noxu::Mutex through the umbrella. Mutual exclusion primitive backed by a futex.
MutexGuard
Re-export of the synchronization primitive that appears in this crate’s public API. SecondaryDatabase::open takes the primary database wrapped in Arc<Mutex<Database>>; this re-export lets callers name that Mutex (and its guard) without depending on the internal noxu-sync crate directly — reachable as noxu::Mutex through the umbrella. RAII guard returned by Mutex::lock.
SharedReplicaAckCoordinator
Re-exports of noxu-dbi types that appear in public API signatures.