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