def value_length.preserve

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

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

1518def value_length.preserve(
1519  base_stats: VisibleStats.Stats,
1520  pair: Handle & Result<&1, &1, Error, Maybe<&1, U32>>
1521) -> Handle & Result<&1, &1, Error, Maybe<&1, U32>>:
1522  match pair:
1523    case (Handle{path, lock, table, state, _}, Done{Some{value_bytes}}):
1524      value_length.preserve.handle(path, lock, table, state,
1525        ValueLengthPolicy.after_lookup(base_stats,
1526          ValueLengthPolicy.ValueFound{}), Done{Some{value_bytes}})
1527    case (Handle{path, lock, table, state, _}, Done{None{}}):
1528      value_length.preserve.handle(path, lock, table, state,
1529        ValueLengthPolicy.after_lookup(base_stats,
1530          ValueLengthPolicy.ValueMissing{}), Done{None{}})
1531    case (Handle{path, lock, table, state, _}, Fail{error}):
1532      value_length.preserve.handle(path, lock, table, state,
1533        ValueLengthPolicy.after_lookup(base_stats,
1534          ValueLengthPolicy.LookupFailed{}), Fail{error})

Uses (11)

Used by (1)