On Wed, Jul 17, 2024 at 05:12:10PM -0400, Taylor Blau wrote: > The function `nth_midxed_object_oid()` returns the object ID for a given > object position in the MIDX lexicographic order. > > Teach this function to instead operate over the concatenated > lexicographic order defined in an earlier step so that it is able to be > used with incremental MIDXs. > > To do this, we need to both (a) adjust the bounds check for the given > 'n', as well as record the MIDX-local position after chasing the > `->base_midx` pointer to find the MIDX which contains that object. Yep, this makes sense. The hard thing about reviewing this, I think, is that each individual step like this is going to make sense, but I'll have very little clue what spots (if any) were missed. To some degree I think the proof will be in the pudding. If you missed any helpers, then the end result is going to crash and burn quite badly when used with a chained midx, and we'd see it in the test suite. And the nice thing is that most of this is abstracted inside these helpers, so we know the set of tricky places is generally limited to the helpers, and not arbitrary bits of midx code. -Peff