Remove backtrack label from checkRangeRightSide
This commit is contained in:
@@ -2520,7 +2520,11 @@ bool checkRangeRightSide(Node *n, std::span<const uint8_t> key, int prefixLen,
|
||||
if (n != commonPrefixNode && maxVersion(n) > readVersion) {
|
||||
return false;
|
||||
}
|
||||
goto backtrack;
|
||||
n = nextSibling(n);
|
||||
if (n == nullptr) {
|
||||
return true;
|
||||
}
|
||||
goto downLeftSpine;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2543,7 +2547,11 @@ bool checkRangeRightSide(Node *n, std::span<const uint8_t> key, int prefixLen,
|
||||
maxVersion(n) > readVersion) {
|
||||
return false;
|
||||
}
|
||||
goto backtrack;
|
||||
n = nextSibling(n);
|
||||
if (n == nullptr) {
|
||||
return true;
|
||||
}
|
||||
goto downLeftSpine;
|
||||
}
|
||||
}
|
||||
if (commonLen == n->partialKeyLen) {
|
||||
@@ -2569,19 +2577,6 @@ bool checkRangeRightSide(Node *n, std::span<const uint8_t> key, int prefixLen,
|
||||
return false;
|
||||
}
|
||||
}
|
||||
backtrack:
|
||||
for (;;) {
|
||||
if (n->parent == nullptr) {
|
||||
return true;
|
||||
}
|
||||
auto next = getChildGeq(n->parent, n->parentsIndex + 1);
|
||||
if (next == nullptr) {
|
||||
n = n->parent;
|
||||
} else {
|
||||
n = next;
|
||||
goto downLeftSpine;
|
||||
}
|
||||
}
|
||||
downLeftSpine:
|
||||
for (; !n->entryPresent; n = getFirstChildExists(n)) {
|
||||
}
|
||||
|
Reference in New Issue
Block a user