diff --git a/roaring/containers_btree.go b/roaring/containers_btree.go index 72837dcb4..c31f0d746 100644 --- a/roaring/containers_btree.go +++ b/roaring/containers_btree.go @@ -189,6 +189,8 @@ func (btc *bTreeContainers) Repair() { // replace the given container. func (btc *bTreeContainers) Update(key uint64, fn func(*Container, bool) (*Container, bool)) { btc.tree.Put(key, fn) + btc.lastKey = ^uint64(0) + btc.lastContainer = nil } // UpdateEvery calls fn (existing-container, existed), and expects diff --git a/roaring/containers_slice.go b/roaring/containers_slice.go index 79798adb0..8597b0f8d 100644 --- a/roaring/containers_slice.go +++ b/roaring/containers_slice.go @@ -210,6 +210,7 @@ func (sc *sliceContainers) Update(key uint64, fn func(*Container, bool) (*Contai sc.insertAt(key, nc, i) } } + sc.invalidateCache() } // UpdateEvery calls fn (existing-container, existed), and expects