package granary

  1. Overview
  2. Docs
Pure-OCaml SQL engine

Install

dune-project
 Dependency

Authors

Maintainers

Sources

0.0.3.tar.gz
sha256=8b18780ea373be48301d9f333925860a2f9110fc0ac28684295118d72b65a67e
sha512=25ca3c9c5e2b528704a542502e0f37dc33ba003f65622d969b8c2b800778585f8ef0cf89b36e6679832e3993e8303aecddfc662742baf7044d6afe4a796b8f11

doc/granary.storage/Granary_storage/index.html

Module Granary_storageSource

Sourcemodule Btree : sig ... end

Copy-on-write B+-tree over the Pager layer.

Sourcemodule Crypto : sig ... end

Per-page AES-256-GCM codec for at-rest encryption (#84).

Sourcemodule Freelist : sig ... end

In-memory freelist. Tracks freed pages and when they can be reused. A page freed at txn_id T becomes reusable when min_safe_txn_id > T (i.e. freed_at_txn_id < min_safe_txn_id). Pure — no I/O, no Lwt.

Sourcemodule Geometry : sig ... end

Page geometry (#95): the per-file choice of page_size and reserved_bytes_per_page, fixed at file creation and persisted in the header. Addressing is offset = page_id * page_size, so the size is uniform across a file and immutable once chosen.

Sourcemodule Header : sig ... end

Alternating two-header commit protocol for crash safety. Pages 0 and 1 hold the two alternating file headers. The header with the higher txn_id and valid CRC is the live state.

Sourcemodule Page : sig ... end

Page format codec for granary.

Sourcemodule Pager : sig ... end

Pager: page cache + allocator over a BLOCK backend.

Sourcemodule Pager_event : sig ... end
Sourcemodule Wal : sig ... end

Write-Ahead Log over byte-addressable storage.