def snapshot.limited.saved.result

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

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/ByteSstFile.bend as ByteSstFile

2387def snapshot.limited.saved.result(
2388  handle: Handle,
2389  result: Result<&1, &1, U32 & String, ByteMemTable.Table>
2390) -> IO(Handle & Result<&1, &1, Error, List<&1, ByteMemTable.Entry>>):
2391  match handle:
2392    case Handle{path, lock, ByteMemTable.Table{delta}, state, base_stats}:
2393      match result:
2394        case Fail{(code, message)}:
2395          IO.pure(Handle & Result<&1, &1, Error, List<&1, ByteMemTable.Entry>>,
2396            (Handle{path, lock, ByteMemTable.Table{delta}, state, base_stats},
2397              Fail{recovery.error(code, message)}))
2398        case Done{ByteMemTable.Table{base}}:
2399          IO.pure(Handle & Result<&1, &1, Error, List<&1, ByteMemTable.Entry>>,
2400            snapshot.limited.saved(snapshot.table(path, lock, state, base_stats,
2401              ByteSstFile.entries.clone(ByteMemTable.compact.live(
2402                ByteMemTable.append(delta, base))))))

Uses (18)

Used by (1)