Simplify addWriteRange slightly

This commit is contained in:
2024-08-15 16:59:28 -07:00
parent 9d23b81d6f
commit d5bc9221a0

View File

@@ -2936,36 +2936,23 @@ void addWriteRange(Node *&root, std::span<const uint8_t> begin,
Node **useAsRoot =
insert(&root, begin.subspan(0, lcp), writeVersion, tls, impl);
int consumed = lcp;
begin = begin.subspan(consumed, begin.size() - consumed);
end = end.subspan(consumed, end.size() - consumed);
begin = begin.subspan(lcp, begin.size() - lcp);
end = end.subspan(lcp, end.size() - lcp);
auto *beginNode = *insert(useAsRoot, begin, writeVersion, tls, impl);
const bool insertedBegin = !beginNode->entryPresent;
addKey(beginNode);
beginNode->entryPresent = true;
if (insertedBegin) {
if (!beginNode->entryPresent) {
++tls->accum.entries_inserted;
auto *p = nextLogical(beginNode);
beginNode->entry.rangeVersion =
p == nullptr ? tls->zero : std::max(p->entry.rangeVersion, tls->zero);
beginNode->entry.pointVersion = writeVersion;
beginNode->entryPresent = true;
}
assert(writeVersion >= beginNode->entry.pointVersion);
beginNode->entry.pointVersion = writeVersion;
auto *endNode = *insert(useAsRoot, end, writeVersion, tls, impl);
const bool insertedEnd = !endNode->entryPresent;
addKey(endNode);
endNode->entryPresent = true;
if (insertedEnd) {
if (!endNode->entryPresent) {
++tls->accum.entries_inserted;
auto *p = nextLogical(endNode);
endNode->entry.pointVersion =
@@ -2975,6 +2962,7 @@ void addWriteRange(Node *&root, std::span<const uint8_t> begin,
beginNode = *useAsRoot;
assert(beginNode->entryPresent);
}
endNode->entryPresent = true;
}
endNode->entry.rangeVersion = writeVersion;