def choose

mylsm-lsm-store@0.6.0.1 · src/scan/ScanMerge.bend:40

import mylsm-lsm-store@0.6.0.1/src/scan/ScanMerge.bend as ScanMerge
import Base

40# Selects the next merge transition for sorted SST and delta heads.
41def choose(
42  base_exists: Bool,
43  delta_exists: Bool,
44  delta_live: Bool,
45  order: Cmp
46) -> Decision:
47  match base_exists:
48    case True{}:
49      match delta_exists:
50        case True{}: both(delta_live, order)
51        case False{}: base.without.delta()
52    case False{}:
53      match delta_exists:
54        case True{}: delta.without.base(delta_live)
55        case False{}: Finished{}

Uses (6)

Used by (1)