def batch.prepare.cloned
mylsm-lsm-store@0.6.0.1 · src/ByteDurableDb.bend:1713
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/scan/VisibleStats.bend as VisibleStats
1713
1714def batch.prepare.cloned(
1715 handle: Handle,
1716 mutations: List<&1, ByteWal.Mutation>,
1717 copies: VisibleStats.Stats & VisibleStats.Stats,
1718 counted: List<&1, ByteMemTable.Entry> & Nat
1719) -> IO(Handle & Result<&1, &1, Error, BatchPrepared>):
1720 match handle:
1721 case Handle{path, lock, table, state, _}:
1722 match copies:
1723 case (original_stats, base_stats):
1724 match counted:
1725 case (retained_entries, count):
1726 batch.stats.loop(Nat.add(Nat.mul(Nat.add(count, 1n), 4n), 1n),
1727 BatchNeed{Handle{path, lock, table, state,
1728 VisibleStats.Stats{0n, 0n}}, mutations, retained_entries,
1729 original_stats, base_stats})