Skip to main content

wasm_dbms/
lib.rs

1// Rust guideline compliant 2026-02-28
2
3//! `wasm-dbms` provides a runtime-agnostic DBMS engine for WASM
4//! environments.
5//!
6//! This crate contains:
7//! - [`DbmsContext`] — owns all database state
8//! - [`WasmDbmsDatabase`] — session-scoped CRUD / transaction operations
9//! - [`DatabaseSchema`] — trait for schema-driven dynamic dispatch
10//! - [`JoinEngine`] — nested-loop cross-table joins
11//! - Integrity validators for insert and update operations
12//! - Transaction overlay for MVCC-like read-your-writes semantics
13
14extern crate self as wasm_dbms;
15
16mod context;
17mod database;
18pub mod integrity;
19pub mod join;
20pub mod referenced_tables;
21pub mod schema;
22pub mod transaction;
23
24pub use self::context::DbmsContext;
25pub use self::database::WasmDbmsDatabase;
26
27/// Prelude re-exports for convenient use.
28pub mod prelude {
29    pub use super::context::DbmsContext;
30    pub use super::database::WasmDbmsDatabase;
31    pub use super::integrity::{InsertIntegrityValidator, UpdateIntegrityValidator};
32    pub use super::join::JoinEngine;
33    pub use super::referenced_tables::get_referenced_tables;
34    pub use super::schema::DatabaseSchema;
35    pub use super::transaction::DatabaseOverlay;
36    pub use super::transaction::session::TransactionSession;
37}