def temporary.decoded

mylsm-lsm-store@0.6.0.1 · src/transfer/RestoreIo.bend:384

import mylsm-lsm-store@0.6.0.1/src/transfer/RestoreIo.bend as RestoreIo
import Base
import mylsm-lsm-store@0.6.0.1/src/ByteDurableDb.bend as Db
import mylsm-lsm-store@0.6.0.1/src/ByteMemTable.bend as ByteMemTable
import mylsm-lsm-store@0.6.0.1/src/transfer/Restore.bend as Restore

384def temporary.decoded(
385  +destination: String,
386  +temporary: String,
387  decoded: Result<&1, &1, Restore.Error, Restore.Decoded>
388) -> IO(Result<&1, &1, Error, Unit>):
389  match decoded:
390    case Fail{error}:
391      IO.pure(Result<&1, &1, Error, Unit>, Fail{decode.error(error)})
392    case Done{Restore.Decoded{entries}}:
393      do IO<Result<&1, &1, Error, Unit>>:
394        created : Result<&1, &1, Db.Error, Db.Handle> <- Db.create(path.clone(temporary))
395        result : Result<&1, &1, Error, Unit> <- temporary.create(destination,
396          temporary, created, ByteMemTable.count.keep(entries))
397        return result

Uses (16)

Used by (1)