src/SstFileV1Fast.bend fails
raw source on the hub · import 0x05fa0e42448e8e221df592b204de523d/src/SstFileV1Fast.bend as SstFileV1Fast
7 imports
import Base import ./Decimal.bend as Decimal import ./Keys.bend as Keys import ./Manifest.bend as Manifest import ./MemTable.bend as MemTable import ./Sstable.bend as Sstable import ./Wal.bend as Wal
Types
type Error source · line 14 · raw
Data
Errors describe the first structural failure observed by the decoder.
UnknownVersionError
MalformedHeaderError
InvalidWalTagError
InvalidWalLengthError
TruncatedWalError
RecordChecksumMismatchError
MissingRecordTerminatorError
TruncatedChecksumError
MalformedChecksumError
ChecksumMismatchError
TrailingDataError
type Tag source · line 27 · raw
Data
PutTagTag
DelTagTag
type Phase source · line 31 · raw
Data
NeedTPhase
ReadLevel@level:Nat -> Phase
ReadWalLength@length:Nat -> Phase
WalTagPhase
WalKeyLength@tag:Tag -> @length:Nat -> Phase
WalKey@tag:Tag -> @remaining:Nat -> @reversed:String -> Phase
WalValueLength@key:String -> @length:Nat -> Phase
WalValue@key:String -> @remaining:Nat -> @reversed:String -> Phase
WalChecksum@tag:Tag -> @key:String -> @value:String -> @remaining:Nat -> @reversed:String -> Phase
WalSemi@entry:0x05fa0e42448e8e221df592b204de523d/src/MemTable.Entry -> Phase
NeedHashPhase
ReadChecksum@scan:0x05fa0e42448e8e221df592b204de523d/src/Decimal.Scan -> Phase
type Transition source · line 45 · raw
Data
Next@phase:Phase -> Transition
LevelRead@level:Nat -> Transition
WalLengthRead@length:Nat -> Transition
EntryRead@entry:0x05fa0e42448e8e221df592b204de523d/src/MemTable.Entry -> Transition
Rejected@error:Error -> Transition
type Decoder source · line 52 · raw
Data
Dec@phase:Phase -> @wal_remaining:Nat -> @previous_key:Maybe<&2, String> -> @strict:Bool -> @reversed_entries:List<&2, 0x05fa0e42448e8e221df592b204de523d/src/MemTable.Entry> -> @level:Nat -> @count:Nat -> @hash:U32 -> Decoder
DecoderRejected@error:Error -> Decoder
type ParseResult source · line 65 · raw
Data
ParseRejected@error:Error -> ParseResult
Parsed@table:0x05fa0e42448e8e221df592b204de523d/src/Sstable.Table -> ParseResult
Definitions
def body_hash source · line 71 · raw
@hash:U32 -> @c:Char -> U32
def expected source · line 74 · raw
@ok:Bool -> @next:Phase -> @error:Error -> Transition
def level_step source · line 81 · raw
@is_dash:Bool -> @is_semi:Bool -> @level:Nat -> Transition
def wal_length_step source · line 92 · raw
@is_dash:Bool -> @is_semi:Bool -> @length:Nat -> Transition
def tag_del source · line 103 · raw
@is_del:Bool -> Transition
def tag_put source · line 110 · raw
@is_put:Bool -> @+c:Char -> Transition
def tag_step source · line 117 · raw
@+c:Char -> Transition
def checksum_phase source · line 120 · raw
@tag:Tag -> @key:String -> @value:String -> Transition
def key_length_done source · line 123 · raw
@tag:Tag -> @length:Nat -> Transition
def key_length_step source · line 134 · raw
@is_dash:Bool -> @is_colon:Bool -> @tag:Tag -> @length:Nat -> Transition
def key_last source · line 145 · raw
@tag:Tag -> @reversed:String -> Transition
def key_step source · line 152 · raw
@tag:Tag -> @remaining:Nat -> @reversed:String -> @c:Char -> Transition
def value_length_done source · line 163 · raw
@key:String -> @length:Nat -> Transition
def value_length_step source · line 170 · raw
@is_dash:Bool -> @is_colon:Bool -> @key:String -> @length:Nat -> Transition
def value_step source · line 181 · raw
@key:String -> @remaining:Nat -> @reversed:String -> @c:Char -> Transition
def checked_record source · line 192 · raw
@equal:Bool -> @tag:Tag -> @key:String -> @value:String -> Transition
def checksum_expected source · line 203 · raw
@tag:Tag -> @+key:String -> @+value:String -> String
def checksum_last source · line 210 · raw
@+tag:Tag -> @+key:String -> @+value:String -> @reversed:String -> Transition
def checksum_step source · line 214 · raw
@tag:Tag -> @key:String -> @value:String -> @remaining:Nat -> @reversed:String -> @c:Char -> Transition
def semi_step source · line 225 · raw
@is_semi:Bool -> @entry:0x05fa0e42448e8e221df592b204de523d/src/MemTable.Entry -> Transition
def checksum_scan source · line 232 · raw
@scan:0x05fa0e42448e8e221df592b204de523d/src/Decimal.Scan -> Transition
def phase_step source · line 241 · raw
@phase:Phase -> @+c:Char -> Transition
def decoder_next source · line 270 · raw
@phase:Phase -> @wal_remaining:Nat -> @previous:Maybe<&2, String> -> @strict:Bool -> @entries:List<&2, 0x05fa0e42448e8e221df592b204de523d/src/MemTable.Entry> -> @level:Nat -> @count:Nat -> @hash:U32 -> Decoder
def wal_length_transition source · line 273 · raw
@length:Nat -> @previous:Maybe<&2, String> -> @strict:Bool -> @entries:List<&2, 0x05fa0e42448e8e221df592b204de523d/src/MemTable.Entry> -> @level:Nat -> @count:Nat -> @hash:U32 -> Decoder
def strict_cmp source · line 280 · raw
@cmp:Cmp -> @key:String -> Pair(Maybe<&2, String>, Bool)
def strict_next source · line 287 · raw
@previous:Maybe<&2, String> -> @+key:String -> @strict:Bool -> Pair(Maybe<&2, String>, Bool)
def ordered_entry source · line 298 · raw
@order:Pair(Maybe<&2, String>, Bool) -> @entry:0x05fa0e42448e8e221df592b204de523d/src/MemTable.Entry -> @next_phase:Phase -> @remaining:Nat -> @entries:List<&2, 0x05fa0e42448e8e221df592b204de523d/src/MemTable.Entry> -> @level:Nat -> @count:Nat -> @hash:U32 -> Decoder
def entry_transition source · line 303 · raw
@+entry:0x05fa0e42448e8e221df592b204de523d/src/MemTable.Entry -> @next_phase:Phase -> @remaining:Nat -> @previous:Maybe<&2, String> -> @strict:Bool -> @entries:List<&2, 0x05fa0e42448e8e221df592b204de523d/src/MemTable.Entry> -> @level:Nat -> @count:Nat -> @hash:U32 -> Decoder
def regular_transition source · line 308 · raw
@transition:Transition -> @wal_remaining:Nat -> @previous:Maybe<&2, String> -> @strict:Bool -> @entries:List<&2, 0x05fa0e42448e8e221df592b204de523d/src/MemTable.Entry> -> @level:Nat -> @count:Nat -> @hash:U32 -> Decoder
def wal_next_at_end source · line 321 · raw
@phase:Phase -> @previous:Maybe<&2, String> -> @strict:Bool -> @entries:List<&2, 0x05fa0e42448e8e221df592b204de523d/src/MemTable.Entry> -> @level:Nat -> @count:Nat -> @hash:U32 -> Decoder
def wal_next_not_end source · line 324 · raw
@phase:Phase -> @remaining:Nat -> @previous:Maybe<&2, String> -> @strict:Bool -> @entries:List<&2, 0x05fa0e42448e8e221df592b204de523d/src/MemTable.Entry> -> @level:Nat -> @count:Nat -> @hash:U32 -> Decoder
def wal_next source · line 327 · raw
@remaining:Nat -> @phase:Phase -> @previous:Maybe<&2, String> -> @strict:Bool -> @entries:List<&2, 0x05fa0e42448e8e221df592b204de523d/src/MemTable.Entry> -> @level:Nat -> @count:Nat -> @hash:U32 -> Decoder
def wal_entry_phase source · line 334 · raw
@remaining:Nat -> Phase
def wal_transition source · line 341 · raw
@transition:Transition -> @+remaining:Nat -> @previous:Maybe<&2, String> -> @strict:Bool -> @entries:List<&2, 0x05fa0e42448e8e221df592b204de523d/src/MemTable.Entry> -> @level:Nat -> @count:Nat -> @hash:U32 -> Decoder
def wal_decoder_step source · line 352 · raw
@phase:Phase -> @wal_remaining:Nat -> @previous:Maybe<&2, String> -> @strict:Bool -> @entries:List<&2, 0x05fa0e42448e8e221df592b204de523d/src/MemTable.Entry> -> @level:Nat -> @count:Nat -> @hash:U32 -> @+c:Char -> Decoder
def regular_hash source · line 360 · raw
@phase:Phase -> @hash:U32 -> @c:Char -> U32
def regular_decoder_step source · line 369 · raw
@+phase:Phase -> @wal_remaining:Nat -> @previous:Maybe<&2, String> -> @strict:Bool -> @entries:List<&2, 0x05fa0e42448e8e221df592b204de523d/src/MemTable.Entry> -> @level:Nat -> @count:Nat -> @hash:U32 -> @+c:Char -> Decoder
def decoder_step_live source · line 373 · raw
@phase:Phase -> @wal_remaining:Nat -> @previous:Maybe<&2, String> -> @strict:Bool -> @entries:List<&2, 0x05fa0e42448e8e221df592b204de523d/src/MemTable.Entry> -> @level:Nat -> @count:Nat -> @hash:U32 -> @c:Char -> Decoder
def decoder_step source · line 392 · raw
@decoder:Decoder -> @c:Char -> Decoder
def build_table source · line 401 · raw
@strict:Bool -> @+entries:List<&2, 0x05fa0e42448e8e221df592b204de523d/src/MemTable.Entry> -> @level:Nat -> @count:Nat -> 0x05fa0e42448e8e221df592b204de523d/src/Sstable.Table
def checksum_decision source · line 408 · raw
@equal:Bool -> @strict:Bool -> @entries:List<&2, 0x05fa0e42448e8e221df592b204de523d/src/MemTable.Entry> -> @level:Nat -> @count:Nat -> ParseResult
def checksum_value source · line 415 · raw
@parsed:0x05fa0e42448e8e221df592b204de523d/src/Decimal.Parse -> @strict:Bool -> @entries:List<&2, 0x05fa0e42448e8e221df592b204de523d/src/MemTable.Entry> -> @level:Nat -> @count:Nat -> @hash:U32 -> ParseResult
def finish_decoder source · line 422 · raw
@decoder:Decoder -> ParseResult
def decode_go source · line 441 · raw
@rest:String -> @decoder:Decoder -> ParseResult
def parse_result source · line 448 · raw
@s:String -> ParseResult
def parse_wrap source · line 451 · raw
@result:ParseResult -> Maybe<&2, 0x05fa0e42448e8e221df592b204de523d/src/Sstable.Table>
def parse source · line 458 · raw
@s:String -> Maybe<&2, 0x05fa0e42448e8e221df592b204de523d/src/Sstable.Table>
def parser_decides source · line 461 · raw
@result:ParseResult -> Bool