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))