Skip to main content

Module overflow

Module overflow 

Source
Expand description

Overflow chain storage

Owns chains of dedicated overflow pages (PageType::Overflow), independent of B-tree semantics and MVCC. Backs the large-value spill path from ADR 0023 (slice B of PRD #662).

Each overflow page lays a small chain-local header at the start of its content area:

Offset  Size  Field
------  ----  -----
  0      4    next_page_id (u32 LE, 0 = tail sentinel)
  4      4    payload_len  (u32 LE, payload bytes on this page)
  8     ..    payload bytes

version (per ADR 0025) is added in slice C (#700); this slice only owns the chain mechanics — allocate, link, walk, free.

Whole-value materialisation only — no streaming reads.

Structs§

OverflowChain
Chain operations over a pager.

Enums§

OverflowError
Errors returned by overflow-chain operations.

Constants§

OVERFLOW_PAGE_HEADER
Bytes consumed by the per-page chain header (next + payload_len).
OVERFLOW_PAYLOAD_PER_PAGE
Payload bytes that fit on a single overflow page.

Functions§

pages_needed
Number of overflow pages required to hold len bytes.