src/RecoverPure.bend checks
raw source on the hub · import mylsm-lsm-store@0.4.0.0/src/RecoverPure.bend as RecoverPure
4 imports
import Base import ./MemTable.bend as MemTable import ./Manifest.bend as Manifest import ./Sstable.bend as Sstable
Definitions
def mid_and source · line 9 · raw
@lhs:Bool -> @rhs:Bool -> Bool
Handle mid and in the pure recovery decisions.
def shape_mid source · line 17 · raw
@first:Bool -> @second:Bool -> @third:Bool -> Bool
Handle shape mid in the pure recovery decisions.
def gen_valid_read source · line 22 · raw
@parsed:Maybe<&2, Nat> -> Bool
Table generations are compact decimal only. Unparsable middles are invalid (no unary-dash legacy reads: no retrocompat).
def gen_valid source · line 30 · raw
@+middle:String -> Bool
Handle gen valid in the pure recovery decisions.
def ov_ok source · line 34 · raw
@+big:Bool -> @+name:String -> @+ln:Nat -> Bool
Handle ov ok in the pure recovery decisions.
def name_shape source · line 42 · raw
@+name:String -> Bool
Handle name shape in the pure recovery decisions.
def level_name_ok source · line 47 · raw
@+big:Bool -> @+name:String -> @+ln:Nat -> @+prefix:String -> @+prefix_len:Nat -> Bool
Return the level name ok for the pure recovery decisions.
def name_shape_level source · line 55 · raw
@+name:String -> @+level:Nat -> Bool
Handle name shape level in the pure recovery decisions.
def gen_value_read source · line 62 · raw
@parsed:Maybe<&2, Nat> -> Nat
Handle gen value read in the pure recovery decisions.
def gen_value source · line 70 · raw
@+middle:String -> Nat
Handle gen value in the pure recovery decisions.
def name_gen source · line 74 · raw
@+name:String -> Nat
Handle name gen in the pure recovery decisions.
def names_ok source · line 79 · raw
@xs:List<&2, String> -> Bool
Handle names ok in the pure recovery decisions.
def level_names_ok source · line 87 · raw
@+level:Nat -> @xs:List<&2, String> -> Bool
Return the level names ok for the pure recovery decisions.
def manifest_names_ok source · line 95 · raw
@levels:List<&2, List<&2, String>> -> @+level:Nat -> Bool
Handle manifest names ok in the pure recovery decisions.
def names_all source · line 103 · raw
@lvls:List<&2, List<&2, String>> -> List<&2, String>
Handle names all in the pure recovery decisions.
def cmax source · line 111 · raw
@names:List<&2, String> -> @+cur:Nat -> Nat
Handle cmax in the pure recovery decisions.
def count_gen source · line 119 · raw
@+lvls:List<&2, List<&2, String>> -> Nat
Count gen in the pure recovery decisions.
def mfst_lists source · line 123 · raw
@+mfst:0x571fd57004366c423dfd4b51196743b5/src/Manifest.Manifest -> List<&2, List<&2, String>>
Handle mfst lists in the pure recovery decisions.
def disjoint_with_table source · line 131 · raw
@+tbl:0x571fd57004366c423dfd4b51196743b5/src/Sstable.Table -> @rest:List<&2, 0x571fd57004366c423dfd4b51196743b5/src/Sstable.Table> -> Bool
L0 may overlap by design. Every table within each level below L0 must have a range disjoint from every peer; metadata makes this check independent of SortedRun and avoids reparsing entries during recovery.
def level_pairwise_disjoint source · line 139 · raw
@tables:List<&2, 0x571fd57004366c423dfd4b51196743b5/src/Sstable.Table> -> Bool
Return the level pairwise disjoint for the pure recovery decisions.
def lower_levels_disjoint source · line 147 · raw
@levels:List<&2, List<&2, 0x571fd57004366c423dfd4b51196743b5/src/Sstable.Table>> -> Bool
Check lower-level levels disjoint for the pure recovery decisions.
def l1_plus_disjoint source · line 155 · raw
@levels:List<&2, List<&2, 0x571fd57004366c423dfd4b51196743b5/src/Sstable.Table>> -> Bool
Handle l1 plus disjoint in the pure recovery decisions.
def needs_flush_cap source · line 163 · raw
@+mem:0x571fd57004366c423dfd4b51196743b5/src/MemTable.MemTable -> @+cap:Nat -> Bool
Handle needs flush cap in the pure recovery decisions.