def partition_step

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

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

353# Partition step for the sorted-run operations.
354def partition_step(
355  full: Bool,
356  target: Nat,
357  room_after: Nat,
358  entry: MemTable.Entry,
359  rest: List<&2, MemTable.Entry>,
360  current_rev: List<&2, MemTable.Entry>,
361  chunks_rev: List<&2, List<&2, MemTable.Entry>>
362) -> PartitionState:
363  match full:
364    case False{}:
365      PartitionState{room_after, rest, Con{entry, current_rev}, chunks_rev}
366    case True{}:
367      chunk = List.reverse(&2, MemTable.Entry, Con{entry, current_rev})
368      PartitionState{target, rest, Nil{}, Con{chunk, chunks_rev}}

Uses (6)

Used by (1)