fix: remove item may changed clone btree; (i+1) children has new cow, but do not copy Signed-off-by: zhangchuanqing1 <zhangchuanqing1@jd.com>
diff --git a/btree.go b/btree.go index 969b910..6f5184f 100644 --- a/btree.go +++ b/btree.go
@@ -479,7 +479,7 @@ child := n.mutableChild(i) // merge with right child mergeItem := n.items.removeAt(i) - mergeChild := n.children.removeAt(i + 1) + mergeChild := n.children.removeAt(i + 1).mutableFor(n.cow) child.items = append(child.items, mergeItem) child.items = append(child.items, mergeChild.items...) child.children = append(child.children, mergeChild.children...)