Doing this in preparation for secondary index. There, we have to compare our boundary definitions against a sub-portion of K in LSMTree, and not the whole K.
The signature is more complicated, but that's more because of the lifetime of the boundary references (the reference in Option<&PrimaryKey>) and how it's getting passed to the closure. We are creating one closure object for one boundary reference, and we're not copying the closure or the boundary reference.
Doing this in preparation for secondary index. There, we have to compare our boundary definitions against a sub-portion of
K
inLSMTree
, and not the wholeK
.The signature is more complicated, but that's more because of the lifetime of the boundary references (the reference in
Option<&PrimaryKey>
) and how it's getting passed to the closure. We are creating one closure object for one boundary reference, and we're not copying the closure or the boundary reference.