def scan_hit_step

mylsm-lsm-store@0.6.0.1 · src/MemTable.bend:98

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

98# Hit-detecting scan: outer None = miss (keep searching older sources),
99# Some{val} = hit (val may be the None{} tombstone — stop, it shadows).
100def scan_hit_step(
101  done: Bool,
102  eq: Bool,
103  hv: Maybe<&2, String>,
104  ans: Maybe<&2, Maybe<&2, String>>
105) -> (Bool & Maybe<&2, Maybe<&2, String>>):
106  match done:
107    case True{}:
108      (True{}, ans)
109    case False{}:
110      match eq:
111        case True{}:
112          (True{}, Some{hv})
113        case False{}:
114          (False{}, ans)

Uses (5)

Used by (3)