wasm-dbms-memory

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
MemoryProvider- Trait for abstracting memory backends (stable memory, heap, etc.)HeapMemoryProvider- In-memory implementation for testingMemoryManager- Page-level memory operationsSchemaRegistry- Table schema persistenceAccessControlList- Identity-based access controlTableRegistry- Record-level storage and retrieval
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 *;
// Use HeapMemoryProvider for testing
let provider = default;
let mut manager = new;
License
This project is licensed under the MIT License. See the LICENSE file for details.