def get.length.sst.result

mylsm-lsm-store@0.6.0.1 · src/ByteDurableDb.bend:1404

import mylsm-lsm-store@0.6.0.1/src/ByteDurableDb.bend as ByteDurableDb
import Base
import mylsm-lsm-store@0.6.0.1/src/ByteMemTable.bend as ByteMemTable
import mylsm-lsm-store@0.6.0.1/src/ByteWal.bend as ByteWal
import mylsm-lsm-store@0.6.0.1/src/DbLock.bend as DbLock
import mylsm-lsm-store@0.6.0.1/src/scan/VisibleStats.bend as VisibleStats

1404def get.length.sst.result(
1405  +path: String,
1406  lock: DbLock.Lock,
1407  table: ByteMemTable.Table,
1408  result: Result<&1, &1, U32 & String, ByteWal.ValueMetadata>
1409) -> Handle & Result<&1, &1, Error, Maybe<&1, U32>>:
1410  match result:
1411    case Fail{(code, message)}:
1412      (Handle{path, lock, table, Open{}, VisibleStats.Stats{0n, 0n}},
1413        Fail{recovery.error(code, message)})
1414    case Done{ByteWal.ValueAbsent{}}:
1415      (Handle{path, lock, table, Open{}, VisibleStats.Stats{0n, 0n}},
1416        Done{None{}})
1417    case Done{ByteWal.ValueDeleted{}}:
1418      (Handle{path, lock, table, Open{}, VisibleStats.Stats{0n, 0n}},
1419        Done{None{}})
1420    case Done{ByteWal.ValuePresent{value_bytes}}:
1421      (Handle{path, lock, table, Open{}, VisibleStats.Stats{0n, 0n}},
1422        Done{Some{value_bytes}})

Uses (14)

Used by (1)