def wal.locked.present

mylsm-lsm-store@0.6.0.1 · src/transfer/MigrateIo.bend:801

import mylsm-lsm-store@0.6.0.1/src/transfer/MigrateIo.bend as MigrateIo
import Base
import mylsm-lsm-store@0.6.0.1/src/DbLock.bend as DbLock
import mylsm-lsm-store@0.6.0.1/src/Fs.bend as Fs
import mylsm-lsm-store@0.6.0.1/src/MemTable.bend as MemTable

801def wal.locked.present(
802  lock: DbLock.Lock,
803  present: Bool,
804  +path: String,
805  records: List<&2, MemTable.Entry>
806) -> IO(TableValidation):
807  match present:
808    case False{}:
809      IO.pure(TableValidation,
810        table.validation.snapshot(lock, path, Done{(0n, 0n)}, records, Nil{}))
811    case True{}:
812      do IO<TableValidation>:
813        size : Result<&1, &1, U32 & String, Nat> <- Fs.file_size(path ++ "/WAL")
814        wal.locked.size.result(lock, size, path, records)

Uses (18)

Used by (1)