def value_length

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

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 bend-kit-bytes@0.3.2.0/bytes.bend as Bytes

1536# Handles value length.
1537def value_length(
1538  handle: Handle,
1539  key: Bytes.Bytes
1540) -> IO(Handle & Result<&1, &1, Error, Maybe<&1, U32>>):
1541  match handle:
1542    case Handle{path, lock, table, Open{}, base_stats}:
1543      do IO<Handle & Result<&1, &1, Error, Maybe<&1, U32>>>:
1544        measured : Handle & Result<&1, &1, Error, Maybe<&1, U32>> <-
1545          get.length.delta(path, lock, ByteMemTable.bytes.clone(key), table)
1546        return value_length.preserve(base_stats, measured)
1547    case Handle{path, lock, table, Poisoned{}, base_stats}:
1548      IO.pure(Handle & Result<&1, &1, Error, Maybe<&1, U32>>,
1549        (Handle{path, lock, table, Poisoned{}, base_stats},
1550          Fail{CommitUnknown{0, "database handle requires reopen"}}))

Uses (15)

Used by (0)

No other definition uses this definition.