src/MergeIter.bend checks
raw source on the hub · import mylsm-lsm-store@0.4.0.0/src/MergeIter.bend as MergeIter
5 imports
import Base import ./Keys.bend as Keys import ./MemTable.bend as MemTable import ./Sstable.bend as Sstable import ./SortedRun.bend as SortedRun
Definitions
def scan_put2 source · line 15 · raw
@pair:Pair(Pair(String, String), Cmp) -> @+val:String -> @acc:List<&2, 0x571fd57004366c423dfd4b51196743b5/src/MemTable.Entry> -> List<&2, 0x571fd57004366c423dfd4b51196743b5/src/MemTable.Entry>
Scan put2 for the sorted merge iterator.
def scan_put source · line 27 · raw
@pair:Pair(Pair(String, String), Cmp) -> @+hi:String -> @+val:String -> @acc:List<&2, 0x571fd57004366c423dfd4b51196743b5/src/MemTable.Entry> -> List<&2, 0x571fd57004366c423dfd4b51196743b5/src/MemTable.Entry>
Scan put for the sorted merge iterator.
def scan_go source · line 44 · raw
@fuel:Nat -> @+lo:String -> @+hi:String -> @acc:List<&2, 0x571fd57004366c423dfd4b51196743b5/src/MemTable.Entry> -> @xs:List<&2, 0x571fd57004366c423dfd4b51196743b5/src/MemTable.Entry> -> List<&2, 0x571fd57004366c423dfd4b51196743b5/src/MemTable.Entry>
Scan go for the sorted merge iterator.
def flatten source · line 66 · raw
@mem:List<&2, 0x571fd57004366c423dfd4b51196743b5/src/MemTable.Entry> -> @levels:List<&2, List<&2, 0x571fd57004366c423dfd4b51196743b5/src/MemTable.Entry>> -> List<&2, 0x571fd57004366c423dfd4b51196743b5/src/MemTable.Entry>
Newest-first concat: memtable entries, then each level's tables in order.
def merge source · line 74 · raw
@mem:List<&2, 0x571fd57004366c423dfd4b51196743b5/src/MemTable.Entry> -> @levels:List<&2, List<&2, 0x571fd57004366c423dfd4b51196743b5/src/MemTable.Entry>> -> List<&2, 0x571fd57004366c423dfd4b51196743b5/src/MemTable.Entry>
Full merge: sorted, unique, newest version wins each key.
def scan source · line 78 · raw
@+merged:List<&2, 0x571fd57004366c423dfd4b51196743b5/src/MemTable.Entry> -> @lo:String -> @hi:String -> List<&2, 0x571fd57004366c423dfd4b51196743b5/src/MemTable.Entry>
Range scan over a merged run: lo <= key < hi, tombstones dropped.