src/CompactIo.bend relies on unsafe/foreign
raw source on the hub · import mylsm-lsm-store@0.5.0.0/src/CompactIo.bend as CompactIo
11 imports
import Base import ./Compact.bend as Compact import ./MemTable.bend as MemTable import ./Sstable.bend as Sstable import ./SstStreamIo.bend as SstStreamIo import ./Wal.bend as Wal import ./Manifest.bend as Manifest import ./Flush.bend as Flush import ./Fs.bend as Fs import ./Db.bend as Db import ./CrashPoint.bend as CrashPoint
Types
type RemoveState source · line 24 · raw
Type
Tracks progress while removing published files.
RemoveStart@names:List<&2, String> -> RemoveState
RemoveNames@names:List<&2, String> -> RemoveState
RemoveResult@result:Result<&1, &1, Pair(U32, String), Unit> -> @names:List<&2, String> -> RemoveState
Definitions
def remove_list source · line 14 · raw
@names:List<&2, String> -> IO(Result<&1, &1, Pair(U32, String), Unit>)
Handle remove list in the compaction filesystem effects.
def remove_list_strict source · line 30 · raw
@fuel:Nat -> @state:RemoveState -> IO(Result<&1, &1, Pair(U32, String), Unit>)
Removes every path and propagates the first failure.
def remove_list_strict_start source · line 54 · raw
@pair:Pair(Nat, List<&2, String>) -> IO(Result<&1, &1, Pair(U32, String), Unit>)
Starts checked removal of the published file list.
def compact_goB.removed source · line 59 · raw
@result:Result<&1, &1, Pair(U32, String), Unit> -> @+dir:String -> @+mem:0x4fcd94fa965aa1443134557fd075a483/src/MemTable.MemTable -> @+levels2:List<&2, List<&2, 0x4fcd94fa965aa1443134557fd075a483/src/Sstable.Table>> -> @+flushed:Nat -> @+manifest:0x4fcd94fa965aa1443134557fd075a483/src/Manifest.Manifest -> @+frozen:0x4fcd94fa965aa1443134557fd075a483/src/MemTable.MemTable -> @+batch_cap:Nat -> @+mem_count:Nat -> @+frozen_count:Nat -> IO(Result<&1, &1, Pair(U32, String), 0x4fcd94fa965aa1443134557fd075a483/src/Db.Db>)
def compact_goB.directory_synced source · line 79 · raw
@result:Result<&1, &1, Pair(U32, String), Unit> -> @+dir:String -> @+dels:List<&2, String> -> @+m2:0x4fcd94fa965aa1443134557fd075a483/src/Manifest.Manifest -> @+mem:0x4fcd94fa965aa1443134557fd075a483/src/MemTable.MemTable -> @+levels2:List<&2, List<&2, 0x4fcd94fa965aa1443134557fd075a483/src/Sstable.Table>> -> @+flushed:Nat -> @+frozen:0x4fcd94fa965aa1443134557fd075a483/src/MemTable.MemTable -> @+batch_cap:Nat -> @+mem_count:Nat -> @+frozen_count:Nat -> IO(Result<&1, &1, Pair(U32, String), 0x4fcd94fa965aa1443134557fd075a483/src/Db.Db>)
def compact_goB.renamed source · line 102 · raw
@result:Result<&1, &1, Pair(U32, String), Unit> -> @+dir:String -> @+dels:List<&2, String> -> @+m2:0x4fcd94fa965aa1443134557fd075a483/src/Manifest.Manifest -> @+mem:0x4fcd94fa965aa1443134557fd075a483/src/MemTable.MemTable -> @+levels2:List<&2, List<&2, 0x4fcd94fa965aa1443134557fd075a483/src/Sstable.Table>> -> @+flushed:Nat -> @+frozen:0x4fcd94fa965aa1443134557fd075a483/src/MemTable.MemTable -> @+batch_cap:Nat -> @+mem_count:Nat -> @+frozen_count:Nat -> IO(Result<&1, &1, Pair(U32, String), 0x4fcd94fa965aa1443134557fd075a483/src/Db.Db>)
def compact_goB.written source · line 124 · raw
@result:Result<&1, &1, Pair(U32, String), Unit> -> @+dir:String -> @+mpath:String -> @+mtmp:String -> @+dels:List<&2, String> -> @+m2:0x4fcd94fa965aa1443134557fd075a483/src/Manifest.Manifest -> @+mem:0x4fcd94fa965aa1443134557fd075a483/src/MemTable.MemTable -> @+levels2:List<&2, List<&2, 0x4fcd94fa965aa1443134557fd075a483/src/Sstable.Table>> -> @+flushed:Nat -> @+frozen:0x4fcd94fa965aa1443134557fd075a483/src/MemTable.MemTable -> @+batch_cap:Nat -> @+mem_count:Nat -> @+frozen_count:Nat -> IO(Result<&1, &1, Pair(U32, String), 0x4fcd94fa965aa1443134557fd075a483/src/Db.Db>)
def compact_goB source · line 150 · raw
@+dir:String -> @+mpath:String -> @+mtmp:String -> @+m2:0x4fcd94fa965aa1443134557fd075a483/src/Manifest.Manifest -> @+dels:List<&2, String> -> @+mem:0x4fcd94fa965aa1443134557fd075a483/src/MemTable.MemTable -> @+levels2:List<&2, List<&2, 0x4fcd94fa965aa1443134557fd075a483/src/Sstable.Table>> -> @+flushed:Nat -> @+frozen:0x4fcd94fa965aa1443134557fd075a483/src/MemTable.MemTable -> @+batch_cap:Nat -> @+mem_count:Nat -> @+frozen_count:Nat -> IO(Result<&1, &1, Pair(U32, String), 0x4fcd94fa965aa1443134557fd075a483/src/Db.Db>)
Compact goB for the compaction filesystem effects.
def drift_go source · line 170 · raw
@ok:Bool -> @+dir:String -> @+mpath:String -> @+mtmp:String -> @+mfst:0x4fcd94fa965aa1443134557fd075a483/src/Manifest.Manifest -> @+oldl1:List<&2, 0x4fcd94fa965aa1443134557fd075a483/src/Sstable.Table> -> @+remt:List<&2, 0x4fcd94fa965aa1443134557fd075a483/src/Sstable.Table> -> @+outname:String -> @+mem:0x4fcd94fa965aa1443134557fd075a483/src/MemTable.MemTable -> @+levels2:List<&2, List<&2, 0x4fcd94fa965aa1443134557fd075a483/src/Sstable.Table>> -> @+flushed:Nat -> @+frozen:0x4fcd94fa965aa1443134557fd075a483/src/MemTable.MemTable -> @+batch_cap:Nat -> @+mem_count:Nat -> @+frozen_count:Nat -> IO(Result<&1, &1, Pair(U32, String), 0x4fcd94fa965aa1443134557fd075a483/src/Db.Db>)
Handle drift go in the compaction filesystem effects.
def compact_goA.loaded source · line 196 · raw
@result:Result<&1, &1, Pair(U32, String), 0x4fcd94fa965aa1443134557fd075a483/src/Manifest.Manifest> -> @+dir:String -> @+mpath:String -> @+mtmp:String -> @+oldl1:List<&2, 0x4fcd94fa965aa1443134557fd075a483/src/Sstable.Table> -> @+remt:List<&2, 0x4fcd94fa965aa1443134557fd075a483/src/Sstable.Table> -> @+outname:String -> @+mem:0x4fcd94fa965aa1443134557fd075a483/src/MemTable.MemTable -> @+levels2:List<&2, List<&2, 0x4fcd94fa965aa1443134557fd075a483/src/Sstable.Table>> -> @+flushed:Nat -> @+manifest_token:String -> @+frozen:0x4fcd94fa965aa1443134557fd075a483/src/MemTable.MemTable -> @+batch_cap:Nat -> @+mem_count:Nat -> @+frozen_count:Nat -> IO(Result<&1, &1, Pair(U32, String), 0x4fcd94fa965aa1443134557fd075a483/src/Db.Db>)
def compact_goA.synced source · line 221 · raw
@result:Result<&1, &1, Pair(U32, String), Unit> -> @+dir:String -> @+mpath:String -> @+mtmp:String -> @+oldl1:List<&2, 0x4fcd94fa965aa1443134557fd075a483/src/Sstable.Table> -> @+remt:List<&2, 0x4fcd94fa965aa1443134557fd075a483/src/Sstable.Table> -> @+outname:String -> @+mem:0x4fcd94fa965aa1443134557fd075a483/src/MemTable.MemTable -> @+levels2:List<&2, List<&2, 0x4fcd94fa965aa1443134557fd075a483/src/Sstable.Table>> -> @+flushed:Nat -> @+manifest_token:String -> @+frozen:0x4fcd94fa965aa1443134557fd075a483/src/MemTable.MemTable -> @+batch_cap:Nat -> @+mem_count:Nat -> @+frozen_count:Nat -> IO(Result<&1, &1, Pair(U32, String), 0x4fcd94fa965aa1443134557fd075a483/src/Db.Db>)
def compact_goA.renamed source · line 248 · raw
@result:Result<&1, &1, Pair(U32, String), Unit> -> @+dir:String -> @+l1dir:String -> @+mpath:String -> @+mtmp:String -> @+oldl1:List<&2, 0x4fcd94fa965aa1443134557fd075a483/src/Sstable.Table> -> @+remt:List<&2, 0x4fcd94fa965aa1443134557fd075a483/src/Sstable.Table> -> @+outname:String -> @+mem:0x4fcd94fa965aa1443134557fd075a483/src/MemTable.MemTable -> @+levels2:List<&2, List<&2, 0x4fcd94fa965aa1443134557fd075a483/src/Sstable.Table>> -> @+flushed:Nat -> @+manifest_token:String -> @+frozen:0x4fcd94fa965aa1443134557fd075a483/src/MemTable.MemTable -> @+batch_cap:Nat -> @+mem_count:Nat -> @+frozen_count:Nat -> IO(Result<&1, &1, Pair(U32, String), 0x4fcd94fa965aa1443134557fd075a483/src/Db.Db>)
def compact_goA.written source · line 275 · raw
@result:Result<&1, &1, Pair(U32, String), Unit> -> @+dir:String -> @+l1dir:String -> @+tmp:String -> @+final:String -> @+mpath:String -> @+mtmp:String -> @+oldl1:List<&2, 0x4fcd94fa965aa1443134557fd075a483/src/Sstable.Table> -> @+remt:List<&2, 0x4fcd94fa965aa1443134557fd075a483/src/Sstable.Table> -> @+outname:String -> @+mem:0x4fcd94fa965aa1443134557fd075a483/src/MemTable.MemTable -> @+levels2:List<&2, List<&2, 0x4fcd94fa965aa1443134557fd075a483/src/Sstable.Table>> -> @+flushed:Nat -> @+manifest_token:String -> @+frozen:0x4fcd94fa965aa1443134557fd075a483/src/MemTable.MemTable -> @+batch_cap:Nat -> @+mem_count:Nat -> @+frozen_count:Nat -> IO(Result<&1, &1, Pair(U32, String), 0x4fcd94fa965aa1443134557fd075a483/src/Db.Db>)
def compact_goA.ensured source · line 305 · raw
@result:Result<&1, &1, Pair(U32, String), Unit> -> @+dir:String -> @+l1dir:String -> @+tmp:String -> @+final:String -> @+mpath:String -> @+mtmp:String -> @+entries:List<&2, 0x4fcd94fa965aa1443134557fd075a483/src/MemTable.Entry> -> @+level:U32 -> @+outname:String -> @+mem:0x4fcd94fa965aa1443134557fd075a483/src/MemTable.MemTable -> @+levels2:List<&2, List<&2, 0x4fcd94fa965aa1443134557fd075a483/src/Sstable.Table>> -> @+oldl1:List<&2, 0x4fcd94fa965aa1443134557fd075a483/src/Sstable.Table> -> @+remt:List<&2, 0x4fcd94fa965aa1443134557fd075a483/src/Sstable.Table> -> @+flushed:Nat -> @+manifest_token:String -> @+frozen:0x4fcd94fa965aa1443134557fd075a483/src/MemTable.MemTable -> @+batch_cap:Nat -> @+mem_count:Nat -> @+frozen_count:Nat -> IO(Result<&1, &1, Pair(U32, String), 0x4fcd94fa965aa1443134557fd075a483/src/Db.Db>)
def compact_goA source · line 338 · raw
@+dir:String -> @+l1dir:String -> @+tmp:String -> @+final:String -> @+mpath:String -> @+mtmp:String -> @+entries:List<&2, 0x4fcd94fa965aa1443134557fd075a483/src/MemTable.Entry> -> @+level:U32 -> @+outname:String -> @+mem:0x4fcd94fa965aa1443134557fd075a483/src/MemTable.MemTable -> @+levels2:List<&2, List<&2, 0x4fcd94fa965aa1443134557fd075a483/src/Sstable.Table>> -> @+oldl1:List<&2, 0x4fcd94fa965aa1443134557fd075a483/src/Sstable.Table> -> @+remt:List<&2, 0x4fcd94fa965aa1443134557fd075a483/src/Sstable.Table> -> @+flushed:Nat -> @+manifest_token:String -> @+frozen:0x4fcd94fa965aa1443134557fd075a483/src/MemTable.MemTable -> @+batch_cap:Nat -> @+mem_count:Nat -> @+frozen_count:Nat -> IO(Result<&1, &1, Pair(U32, String), 0x4fcd94fa965aa1443134557fd075a483/src/Db.Db>)
Publishes the compacted run and removes obsolete files.
def compact_pre source · line 366 · raw
@+dir:String -> @+mem:0x4fcd94fa965aa1443134557fd075a483/src/MemTable.MemTable -> @+levels:List<&2, List<&2, 0x4fcd94fa965aa1443134557fd075a483/src/Sstable.Table>> -> @+flushed:Nat -> @+manifest_token:String -> @+frozen:0x4fcd94fa965aa1443134557fd075a483/src/MemTable.MemTable -> @+batch_cap:Nat -> @+mem_count:Nat -> @+frozen_count:Nat -> IO(Result<&1, &1, Pair(U32, String), 0x4fcd94fa965aa1443134557fd075a483/src/Db.Db>)
Compact pre for the compaction filesystem effects.
def compact_trig source · line 392 · raw
@gt:Bool -> @+dir:String -> @+mem:0x4fcd94fa965aa1443134557fd075a483/src/MemTable.MemTable -> @+levels:List<&2, List<&2, 0x4fcd94fa965aa1443134557fd075a483/src/Sstable.Table>> -> @+flushed:Nat -> @+manifest_token:String -> @+frozen:0x4fcd94fa965aa1443134557fd075a483/src/MemTable.MemTable -> @+batch_cap:Nat -> @+bcache:List<&2, 0x4fcd94fa965aa1443134557fd075a483/src/Db.BEntry> -> @+mem_count:Nat -> @+frozen_count:Nat -> IO(Result<&1, &1, Pair(U32, String), 0x4fcd94fa965aa1443134557fd075a483/src/Db.Db>)
Compact trig for the compaction filesystem effects.
def compact source · line 412 · raw
@+db:0x4fcd94fa965aa1443134557fd075a483/src/Db.Db -> IO(Result<&1, &1, Pair(U32, String), 0x4fcd94fa965aa1443134557fd075a483/src/Db.Db>)
Handle compact in the compaction filesystem effects.