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) {
|
if (n != commonPrefixNode && maxVersion(n) > readVersion) {
|
||||||
return false;
|
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) {
|
maxVersion(n) > readVersion) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
goto backtrack;
|
n = nextSibling(n);
|
||||||
|
if (n == nullptr) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
goto downLeftSpine;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (commonLen == n->partialKeyLen) {
|
if (commonLen == n->partialKeyLen) {
|
||||||
@@ -2569,19 +2577,6 @@ bool checkRangeRightSide(Node *n, std::span<const uint8_t> key, int prefixLen,
|
|||||||
return false;
|
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:
|
downLeftSpine:
|
||||||
for (; !n->entryPresent; n = getFirstChildExists(n)) {
|
for (; !n->entryPresent; n = getFirstChildExists(n)) {
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user