Expand description
The store ties the pool, the log and the tree together and owns the two orderings that durability depends on.
COMMIT append -> fsync -> apply to pages -> publish CHECKPOINT flush pages -> fsync file -> fsync dir -> rotate log
Moving the rotation earlier changes nothing observable until the machine loses power, which is why it has an explicit test rather than a review comment.
Structs§
- Config
- Prepared
Graft - Durable description of an unreachable, independently verified graft.
Persist this beside a resumable build before acknowledging its final
sorter watermark. On reopen,
Store::publish_existing_candidatechecks both generations, re-verifies every reachable candidate page through a fresh handle, reconstructs the standing parent path, and only then flips the root. - Store
Enums§
Constants§
- PUT_
EMPTY_ BATCH_ MAX_ KEYS - One bounded logical batch for empty-valued index rows: at most 64 keys and one page-sized WAL payload. Ordinary GIN batches are ~2 KiB. Both bounds are format-validated during recovery.