Only pass key to addPointWrite
All checks were successful
Tests / Release [gcc] total: 583, passed: 583
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap: Reference build: <a href="https://jenkins.weaselab.dev/job/weaselab/job/conflict-set/job/main/26//gcc">weaselab » conflict-set » main #26</a>
Tests / Coverage total: 581, passed: 581
weaselab/conflict-set/pipeline/head This commit looks good

This commit is contained in:
2024-02-20 23:16:03 -08:00
parent a341b36f63
commit 48d96ac79a

View File

@@ -1395,19 +1395,18 @@ void destroyTree(Node *root) {
}
void addPointWrite(Node *&root, int64_t oldestVersion,
const ConflictSet::WriteRange &w) {
auto *n = insert(&root, std::span<const uint8_t>(w.begin.p, w.begin.len),
w.writeVersion, true);
std::span<const uint8_t> key, int64_t writeVersion) {
auto *n = insert(&root, key, writeVersion, true);
if (!n->entryPresent) {
auto *p = nextLogical(n);
n->entryPresent = true;
n->entry.pointVersion = w.writeVersion;
n->maxVersion = w.writeVersion;
n->entry.pointVersion = writeVersion;
n->maxVersion = writeVersion;
n->entry.rangeVersion =
p != nullptr ? p->entry.rangeVersion : oldestVersion;
} else {
n->entry.pointVersion = std::max(n->entry.pointVersion, w.writeVersion);
n->maxVersion = std::max(n->maxVersion, w.writeVersion);
n->entry.pointVersion = std::max(n->entry.pointVersion, writeVersion);
n->maxVersion = std::max(n->maxVersion, writeVersion);
}
}
@@ -1421,7 +1420,7 @@ void addWriteRange(Node *&root, int64_t oldestVersion,
std::min(begin.size(), end.size()));
if (lcp == int(begin.size()) && end.size() == begin.size() + 1 &&
end.back() == 0) {
return addPointWrite(root, oldestVersion, w);
return addPointWrite(root, oldestVersion, begin, w.writeVersion);
}
auto remaining = begin.subspan(0, lcp);
@@ -1644,7 +1643,9 @@ struct __attribute__((visibility("hidden"))) ConflictSet::Impl {
addWriteRange(root, oldestVersion, w);
} else {
keyUpdates += 1;
addPointWrite(root, oldestVersion, w);
addPointWrite(root, oldestVersion,
std::span<const uint8_t>(w.begin.p, w.begin.len),
w.writeVersion);
}
}
}