def write.counted

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

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/ByteWal.bend as ByteWal
import mylsm-lsm-store@0.6.0.1/src/DbLock.bend as DbLock
import mylsm-lsm-store@0.6.0.1/src/DurableBatchPolicy.bend as BatchPolicy
import mylsm-lsm-store@0.6.0.1/src/scan/VisibleStats.bend as VisibleStats

614def write.counted(
615  +path: String,
616  lock: DbLock.Lock,
617  table: ByteMemTable.Table,
618  state: HandleState,
619  batch: ByteWal.Batch
620) -> IO(Handle & Result<&1, &1, Error, Unit>):
621  match state:
622    case Poisoned{}:
623      IO.pure(Handle & Result<&1, &1, Error, Unit>,
624        (Handle{path, lock, table, Poisoned{}, VisibleStats.Stats{0n, 0n}},
625          Fail{CommitUnknown{0, "database handle requires reopen"}}))
626    case Open{}:
627      match batch:
628        case ByteWal.Batch{mutations}:
629          write.count.measured(path, lock, table,
630            BatchPolicy.byte_batch.measure(mutations))

Uses (16)

Used by (1)