1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
//! # DBX — High-Performance Embedded Database
//!
//! DBX is a high-performance embedded database built on a 5-Tier Hybrid Storage architecture.
//! Written in pure Rust, it leverages Apache Arrow and Parquet for columnar storage.
//!
//! ## Key Features
//!
//! - **5-Tier Hybrid Storage**: Delta → Cache → WOS → Index → ROS
//! - **Apache Arrow-based**: Columnar storage and vectorized operations
//! - **SQL Support**: SELECT, WHERE, JOIN, GROUP BY, ORDER BY
//! - **ACID Transactions**: Type-safe transactions using the Typestate pattern
//! - **Performance Optimized**: LRU Cache, Bloom Filter, SIMD vectorization
//!
//! ## Quick Start
//!
//! ### Basic Usage (CRUD)
//!
//! ```rust
//! use dbx_core::Database;
//!
//! # fn main() -> dbx_core::DbxResult<()> {
//! // Open database
//! let db = Database::open_in_memory()?;
//!
//! // Insert data
//! db.insert("users", b"user:1", b"Alice")?;
//!
//! // Get data
//! let value = db.get("users", b"user:1")?;
//! assert_eq!(value, Some(b"Alice".to_vec()));
//!
//! // Delete data
//! db.delete("users", b"user:1")?;
//! # Ok(())
//! # }
//! ```
//!
//! ### Transactions
//!
//! ```rust
//! use dbx_core::Database;
//!
//! # fn main() -> dbx_core::DbxResult<()> {
//! let db = Database::open_in_memory()?;
//!
//! // Begin transaction
//! let _tx = db.begin()?;
//!
//! // Basic CRUD uses Database directly
//! db.insert("users", b"user:2", b"Bob")?;
//!
//! // Transactions are used with Query Builder (Phase 6)
//! # Ok(())
//! # }
//! ```
//!
//! ## Architecture
//!
//! ### 5-Tier Hybrid Storage
//!
//! 1. **Delta Store** (DashMap) — In-memory write buffer, lock-free concurrency
//! 2. **Cache** (LRU) — Read cache for frequently accessed data
//! 3. **WOS** (native_wos) — Write-Optimized Store, persistent storage
//! 4. **Index** (Bloom Filter) — Fast existence checks
//! 5. **ROS** (Parquet) — Read-Optimized Store, columnar compression
//!
//! ### SQL Execution Pipeline
//!
//! ```text
//! SQL String → Parser → AST → Planner → LogicalPlan
//! → Optimizer → PhysicalPlan → Executor → RecordBatch
//! ```
//!
//! ## Module Structure
//! - [`engine`] — Database engine ([`Database`])
//! - [`sql`] — SQL parser, planner, optimizer, executor
//! - [`storage`] — 5-Tier storage backends
//! - [`transaction`] — MVCC transaction management
//! - [`index`] — Hash Index
//! - [`wal`] — Write-Ahead Log
// ===== Re-exports =====
// Logging utilities
// Re-export commonly used types
pub use ;
pub use ;
pub use MetricsSnapshot;