def merge_step

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

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

206# Merge step for the sorted-run operations.
207def merge_step(
208  order: Cmp,
209  +newer_head: MemTable.Entry,
210  newer_tail: List<&2, MemTable.Entry>,
211  +older_head: MemTable.Entry,
212  older_tail: List<&2, MemTable.Entry>,
213  acc: List<&2, MemTable.Entry>
214) -> List<&2, MemTable.Entry> & List<&2, MemTable.Entry> & List<&2, MemTable.Entry>:
215  match order:
216    case LT{}:
217      (Con{newer_head, acc}, newer_tail, Con{older_head, older_tail})
218    case EQ{}:
219      (Con{newer_head, acc}, newer_tail, older_tail)
220    case GT{}:
221      (Con{older_head, acc}, Con{newer_head, newer_tail}, older_tail)

Uses (5)

Used by (1)