def lookup.length.advance
mylsm-lsm-store@0.6.0.1 · src/ByteMemTable.bend:371
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
371def lookup.length.advance(
372 query: Bytes.Bytes,
373 key: Bytes.Bytes,
374 val: Maybe<&1, Bytes.Bytes>,
375 tail: List<&1, Entry>,
376 prefix: List<&1, Entry>
377) -> LengthSearch:
378 match tail:
379 case Nil{}:
380 LengthSearch{query, Nil{}, Con{Entry{key, val}, prefix}, EQ{}}
381 case Con{Entry{next_key, next_val}, rest}:
382 lookup.length.state(Con{Entry{key, val}, prefix}, next_val, rest,
383 Keys.Bytes.cmp.with_inputs(next_key, query))