def scan.entry.upper.copies

mylsm-lsm-store@0.6.0.1 · src/scan/SstCursor.bend:134

import mylsm-lsm-store@0.6.0.1/src/scan/SstCursor.bend as SstCursor
import Base
import mylsm-lsm-store@0.6.0.1/src/ByteMemTable.bend as ByteMemTable
import mylsm-lsm-store@0.6.0.1/src/scan/ByteBlockReader.bend as ByteBlockReader
import mylsm-lsm-store@0.6.0.1/src/scan/ByteRange.bend as ByteRange
import bend-kit-bytes@0.3.2.0/bytes.bend as Bytes

134def scan.entry.upper.copies(
135  key: Bytes.Bytes,
136  value: Maybe<&1, Bytes.Bytes>,
137  cursor: ByteBlockReader.EntryCursor,
138  lower: Maybe<&1, Bytes.Bytes>,
139  prefix: Maybe<&1, Bytes.Bytes>,
140  retained: Bounds,
141  upper: Maybe<&1, Bytes.Bytes> & Maybe<&1, Bytes.Bytes>,
142  key_copies: Bytes.Bytes & Bytes.Bytes
143) -> IO(Step):
144  match upper:
145    case (upper_test, upper_checked):
146      match key_copies:
147        case (upper_key, filter_key):
148          scan.entry.upper.result(
149            ByteRange.at_or_after_upper(upper_key, upper_test),
150            key, value, cursor, lower, prefix, retained,
151            upper_checked,
152            ByteMemTable.bytes.clone(filter_key))

Uses (11)

Used by (1)