/** * When binding to a node which is in a split state, the position must be adjusted in order * for rebindFrame to work properly. The position cannot be used for accessing entries * until after rebindFrame is called, or if retrieveLeafValue is called. * * @param pos non-negative bind position * @return adjusted bind position */ final int adjustBindPosition(int pos) { if (!mSplitRight) { // To prevent the rebind operation from breaking things, the position must be // defined as though it was created before the node was split. When rebindFrame is // called, the position is moved to the correct location. Node sibling = latchSibling(); pos += sibling.highestPos() + 2; sibling.releaseShared(); } return pos; }
/** * When binding to a node which is in a split state, the position must be adjusted in order * for rebindFrame to work properly. The position cannot be used for accessing entries * until after rebindFrame is called, or if retrieveLeafValue is called. * * @param pos non-negative bind position * @return adjusted bind position */ final int adjustBindPosition(int pos) { if (!mSplitRight) { // To prevent the rebind operation from breaking things, the position must be // defined as though it was created before the node was split. When rebindFrame is // called, the position is moved to the correct location. Node sibling = latchSibling(); pos += sibling.highestPos() + 2; sibling.releaseShared(); } return pos; }
/** * When binding to a node which is in a split state, the position must be adjusted in order * for rebindFrame to work properly. The position cannot be used for accessing entries * until after rebindFrame is called, or if retrieveLeafValue is called. * * @param pos non-negative bind position * @return adjusted bind position */ final int adjustBindPosition(int pos) { if (!mSplitRight) { // To prevent the rebind operation from breaking things, the position must be // defined as though it was created before the node was split. When rebindFrame is // called, the position is moved to the correct location. Node sibling = latchSibling(); pos += sibling.highestPos() + 2; sibling.releaseShared(); } return pos; }
int highestPos = node.highestPos(); if (pos > highestPos) { Node sibling = latchSibling(); Node sibling = latchSibling(); try { int highestPos = sibling.highestPos(); if (pos <= highestPos) { return sibling.retrieveLeafValue(pos);
pos = node.highestPos() + 2; } else { pos = node.binarySearch(highKey);
pos = node.highestPos() + 2; } else { pos = node.binarySearch(highKey);
int highestPos = node.highestPos(); if (pos > highestPos) { Node sibling = latchSibling(); Node sibling = latchSibling(); try { int highestPos = sibling.highestPos(); if (pos <= highestPos) { return sibling.retrieveLeafValue(pos);
int highestPos = node.highestPos(); if (pos > highestPos) { Node sibling = latchSibling(); Node sibling = latchSibling(); try { int highestPos = sibling.highestPos(); if (pos <= highestPos) { return sibling.retrieveLeafValue(pos);
pos = node.highestPos() + 2; } else { pos = node.binarySearch(highKey);
int highestPos = frameNode.highestPos(); int highestPos = sibling.highestPos();
int highestPos = frameNode.highestPos(); int highestPos = sibling.highestPos();
int highestPos = frameNode.highestPos(); int highestPos = sibling.highestPos();
frame.mNodePos = previous.highestPos(); previous.mLastCursorFrame = frame; previous.type((byte) (previous.type() | Node.HIGH_EXTREMITY));
} else if (pos >= node.highestPos()) { break quick;
} else if (pos >= node.highestPos()) { break quick;
} else if (pos >= (highest = node.highestPos())) { break quick;
} else if (pos >= (highest = node.highestPos())) { break quick;