From 2eea70f063087bd0613e2f77b521d57a6afa2f63 Mon Sep 17 00:00:00 2001 From: Andrew Noyes Date: Fri, 14 Jun 2024 23:26:00 -0700 Subject: [PATCH] Fix a bug where a range end's version wasn't updated --- VersionedMap.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/VersionedMap.cpp b/VersionedMap.cpp index 19c8707..fb7fee7 100644 --- a/VersionedMap.cpp +++ b/VersionedMap.cpp @@ -967,6 +967,10 @@ struct __attribute__((__visibility__("hidden"))) VersionedMap::Impl { /*endRange*/ true, iter); } else if (engulfRight) { insert({m.param1, m.param1Len}, {}, /*endRange*/ false, iter); + move(iter, latestVersion); + assert(iter.searchPathSize() > 0 && + mm.base[iter.backNode()].entry == next); + insert({next->getKey(), next->keyLen}, {}, /*endRange*/ true, iter); } else { insert({m.param1, m.param1Len}, {{nullptr, -1}}, /*endRange*/ false, iter);