• Kirill Smelkov's avatar
    Simplify "splitX bug" fix · 15a07c50
    Kirill Smelkov authored
    We are simplyfing commit 5c732b36 (Fix splitX bug.) here:
    
    By always passing to splitX i of index entry that is actually going to
    be used for traversal(*) we don't need to consider edge cases, such as
    when to move to next slot, inside splitX itself and this way there is no
    need to keep relookup logic there.
    
    So inside splitX it becomes very simple:
    
    	- i <= kx  -> go left
    	- i > kx   -> go right
    
    The logic to advance i by 1 on exact key hits was already there in Set
    and Put so it is natural for them to pass correct slot index to splitX.
    
    (*) i.e. index of next slot on exact index entry key hit - see previous
        patch for explanation
    15a07c50
btree.go 16 KB