def singleton_runs

mylsm-lsm-store@0.3.2.0 · src/SortedRun.bend:284

import mylsm-lsm-store@0.3.2.0/src/SortedRun.bend as SortedRun
import Base
import mylsm-lsm-store@0.3.2.0/src/MemTable.bend as MemTable

284# Canonicalize raw newest-first entries in O(N log N): each entry starts as one
285# already-sorted run, and stable EQ selection preserves the earlier/newer entry.
286def singleton_runs(entries: List<&2, MemTable.Entry>) -> List<&2, List<&2, MemTable.Entry>>:
287  match entries:
288    case Nil{}:
289      Nil{}
290    case Con{entry, rest}:
291      Con{Con{entry, Nil{}}, singleton_runs(rest)}

Uses (2)

Used by (1)