def mutations

mylsm-lsm-store@0.6.0.1 · src/ByteSstFile.bend:94

import mylsm-lsm-store@0.6.0.1/src/ByteSstFile.bend as ByteSstFile
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

94# Converts byte table entries to the shared byte WAL mutation representation.
95def mutations(entries: List<&1, ByteMemTable.Entry>) -> List<&1, ByteWal.Mutation>:
96  match entries:
97    case Nil{}:
98      Nil{}
99    case Con{ByteMemTable.Entry{key, val}, tail}:
100      match val:
101        case None{}:
102          Con{ByteWal.Delete{key}, mutations(tail)}
103        case Some{value}:
104          Con{ByteWal.Put{key, value}, mutations(tail)}

Uses (4)

Used by (2)