Skip to main content

Module last_non_null

Module last_non_null 

Source

Structsยง

ClosureLimits ๐Ÿ”’
Constraints checked on complete closures, never on partial seed inputs.
LastNonNullPicker ๐Ÿ”’
Picker for MergeMode::LastNonNull.

Functionsยง

build_closed_outputs ๐Ÿ”’
Each seed and snapshot file is consumed at most once. Absorbing a seed also absorbs its disconnected members: a merge stream must never be split across independently scheduled outputs.
close_outputs ๐Ÿ”’
Attempts seeds in priority order until valid closures fill the output budget. Returns indices into the original seed list for all attempted/absorbed seeds, including rejected closures but excluding seeds left behind by the budget.
expand_closure ๐Ÿ”’
Expands one seed into its full merge closure: absorb every connected seed and every overlapping snapshot file, transitively. Growing output.inputs while iterating is what makes the expansion transitive.
extend_inputs ๐Ÿ”’
Appends never-seen inputs and removes them from the overlap index so the same file is neither expanded nor scheduled twice.
inputs_precede_memtables ๐Ÿ”’
Imported SSTs can be newer than pending writes. A merge must not attach an old field to a sequence above an intermediate version left in a memtable.