def singleton_runs

mylsm-lsm-store@0.6.0.1 · src/SortedRun.bend:307

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

307# Canonicalize raw newest-first entries in O(N log N): each entry starts as one
308# already-sorted run, and stable EQ selection preserves the earlier/newer entry.
309def singleton_runs(entries: List<&2, MemTable.Entry>) -> List<&2, List<&2, MemTable.Entry>>:
310  match entries:
311    case Nil{}:
312      Nil{}
313    case Con{entry, rest}:
314      Con{Con{entry, Nil{}}, singleton_runs(rest)}

Uses (2)

Used by (1)