Skip to main content

Module store

Module store 

Source
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
PreparedGraft
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_candidate checks 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§

SyncMode

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.