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
//! `obj-core` — internal storage engine for the `obj` embedded document
//! database.
//!
//! # ⚠️ UNSTABLE — not a stable public API
//!
//! `obj-core` is an **implementation detail of `obj-db`**. It is published
//! to `crates.io` only because `obj-db` depends on it; its public API carries
//! **no `SemVer` guarantee** and may change in any release, including patch
//! releases. Do not depend on `obj-core` directly — depend on `obj-db` and
//! use the `obj` crate's API. Only `obj-db`'s public surface is frozen at
//! 1.0 (see `docs/public-api.md`); `obj-core` is deliberately excluded from
//! the public-api freeze gate so the engine can evolve freely.
//!
//! This crate hosts the layered storage engine: the platform syscall
//! wrappers (L0), the pager (L1), the WAL (L2), the B-tree (L3), the
//! document codec (L4), the catalog (L5), and the transaction manager
//! (L7). Layers are built bottom-up across milestones; see the project
//! plan and `power-of-ten.md` for the design discipline this crate
//! must uphold.
//!
//! # On-disk format
//!
//! The `.obj` file format that this crate reads and writes is specified
//! in `docs/format.md` at the repository root. That document is the
//! authoritative description of the page-0 file header, the per-page
//! CRC32C trailer scheme, and the page-type tag enumeration; this
//! crate is its reference implementation.
//!
//! # `unsafe` policy
//!
//! This crate does **not** carry a crate-level `#![forbid(unsafe_code)]`
//! because the `platform` submodule holds the project's syscall
//! wrappers. Every other submodule should be safe; new submodules
//! SHOULD include `#![forbid(unsafe_code)]` of their own where
//! appropriate.
pub use crate;
pub use crateDocument;
pub use crate;
pub use crateId;
pub use crate;
pub use crate;
pub use crate;
pub use crate;
pub use crate;
pub use crateLsn;