From bb0e654040b9e06766c4761f78e5a35396278d94 Mon Sep 17 00:00:00 2001 From: Andrew Noyes Date: Wed, 26 Jun 2024 22:11:33 -0700 Subject: [PATCH] Fix missed update for Node48::maxOfMax --- ConflictSet.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ConflictSet.cpp b/ConflictSet.cpp index 36821b4..34e3073 100644 --- a/ConflictSet.cpp +++ b/ConflictSet.cpp @@ -1365,6 +1365,10 @@ Node *erase(Node *self, NodeAllocators *allocators, ConflictSet::Impl *impl, if (toRemoveChildrenIndex != lastChildrenIndex) { parent48->children[toRemoveChildrenIndex] = parent48->children[lastChildrenIndex]; + parent48->maxOfMax[toRemoveChildrenIndex >> Node48::kMaxOfMaxShift] = + std::max(parent48->maxOfMax[toRemoveChildrenIndex >> + Node48::kMaxOfMaxShift], + parent48->children[toRemoveChildrenIndex].childMaxVersion); auto parentIndex = parent48->children[toRemoveChildrenIndex].child->parentsIndex; parent48->index[parentIndex] = toRemoveChildrenIndex;