def lookup.advance.state

mylsm-lsm-store@0.6.0.1 · src/ByteMemTable.bend:229

import mylsm-lsm-store@0.6.0.1/src/ByteMemTable.bend as ByteMemTable
import Base
import mylsm-lsm-store@0.6.0.1/src/Keys.bend as Keys
import bend-kit-bytes@0.3.2.0/bytes.bend as Bytes

229# Advances the affine scan while retaining the prior entry in its prefix.
230def lookup.advance.state(
231  query: Bytes.Bytes,
232  key: Bytes.Bytes,
233  value: Maybe<&1, Bytes.Bytes>,
234  tail: List<&1, Entry>,
235  prefix: List<&1, Entry>
236) -> Search:
237  match tail:
238    case Nil{}:
239      Search{query, Nil{}, Con{Entry{key, value}, prefix}, EQ{}}
240    case Con{Entry{next_key, next_value}, rest}:
241      lookup.state(Con{Entry{key, value}, prefix}, next_value, rest,
242        Keys.Bytes.cmp.with_inputs(next_key, query))

Uses (8)

Used by (1)