wasm-dbms-memory 0.6.0

Memory abstraction and page management for the wasm-dbms framework
Documentation
  • Coverage
  • 89.47%
    68 out of 76 items documented0 out of 6 items with examples
  • Size
  • Source code size: 199.54 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 9.5 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 47s Average build duration of successful builds.
  • all releases: 47s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • veeso/wasm-dbms
    3 0 4
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • veeso

wasm-dbms-memory

logo

license-mit repo-stars downloads latest-version ko-fi conventional-commits

ci coveralls docs

Runtime-agnostic memory abstraction and page management for the wasm-dbms framework.

This crate provides the storage layer used by wasm-dbms, handling page-level memory operations, schema persistence, access control, and record-level storage.

Components

Memory Model

The memory is organized into 64 KiB pages:

+-------------------------------------+
| Schema Registry (1 page)            |
+-------------------------------------+
| ACL Table (1 page)                  |
+-------------------------------------+
| Table XX Page Ledger (1 page)       |
| Table XX Free Segments Ledger       |
+-------------------------------------+
| Table YY Page Ledger (1 page)       |
| Table YY Free Segments Ledger       |
+-------------------------------------+
| Table XX Records - Page 1           |
| Table XX Records - Page 2           |
| Table YY Records - Page 1           |
| ...                                 |
+-------------------------------------+

Usage

use wasm_dbms_memory::prelude::*;

// Use HeapMemoryProvider for testing
let provider = HeapMemoryProvider::default();
let mut manager = MemoryManager::new(&provider);

License

This project is licensed under the MIT License. See the LICENSE file for details.