def Bytes.scan.from.snapshot
mylsm-lsm-store@0.6.0.1 · mylsm.bend:793
import mylsm-lsm-store@0.6.0.1/mylsm.bend as Mylsm
import Base
import bend-kit-bytes@0.3.2.0/bytes.bend as PackedBytes
import mylsm-lsm-store@0.6.0.1/src/ByteDurableDb.bend as RawByteDb
import mylsm-lsm-store@0.6.0.1/src/ByteMemTable.bend as ByteMemTable
import mylsm-lsm-store@0.6.0.1/src/scan/RangeCursor.bend as ByteRangeCursor
793def Bytes.scan.from.snapshot(
794 lower_pair: Maybe<&1, PackedBytes.Bytes> & Maybe<&1, PackedBytes.Bytes>,
795 upper: Maybe<&1, PackedBytes.Bytes>,
796 prefix: Maybe<&1, PackedBytes.Bytes>,
797 snapshot: RawByteDb.Handle & List<&1, ByteMemTable.Entry>
798) -> Bytes.Handle & Bytes.Cursor:
799 match lower_pair:
800 case (lower, seek_lower):
801 match snapshot:
802 case (next_raw, entries):
803 (ByteHandle{next_raw}, ByteCursor{
804 ByteRangeCursor.open(ByteRangeCursor.seek(entries, seek_lower)),
805 ByteRangeCursor.Bounds{lower, upper, prefix}})