Node sibling = latchSibling(); try { return sibling.retrieveLeafValue(pos - highestPos - 2); } finally { sibling.releaseShared(); int highestPos = sibling.highestPos(); if (pos <= highestPos) { return sibling.retrieveLeafValue(pos); return node.retrieveLeafValue(pos);
Node sibling = latchSibling(); try { return sibling.retrieveLeafValue(pos - highestPos - 2); } finally { sibling.releaseShared(); int highestPos = sibling.highestPos(); if (pos <= highestPos) { return sibling.retrieveLeafValue(pos); return node.retrieveLeafValue(pos);
Node sibling = latchSibling(); try { return sibling.retrieveLeafValue(pos - highestPos - 2); } finally { sibling.releaseShared(); int highestPos = sibling.highestPos(); if (pos <= highestPos) { return sibling.retrieveLeafValue(pos); return node.retrieveLeafValue(pos);
private byte[] copyIfExists() throws IOException { byte[] value; CursorFrame frame = leafSharedNotSplit(); Node node = frame.mNode; try { int pos = frame.mNodePos; if (pos < 0) { value = null; } else { value = mKeyOnly ? node.hasLeafValue(pos) : node.retrieveLeafValue(pos); } } finally { node.releaseShared(); } mValue = value; return value; }
private byte[] copyIfExists() throws IOException { byte[] value; CursorFrame frame = leafSharedNotSplit(); Node node = frame.mNode; try { int pos = frame.mNodePos; if (pos < 0) { value = null; } else { value = mKeyOnly ? node.hasLeafValue(pos) : node.retrieveLeafValue(pos); } } finally { node.releaseShared(); } mValue = value; return value; }
private byte[] copyIfExists() throws IOException { byte[] value; CursorFrame frame = frameSharedNotSplit(); Node node = frame.mNode; try { int pos = frame.mNodePos; if (pos < 0) { value = null; } else { value = mKeyOnly ? node.hasLeafValue(pos) : node.retrieveLeafValue(pos); } } finally { node.releaseShared(); } mValue = value; return value; }
private boolean tryLockLoad(LocalTransaction txn, byte[] key, int keyHash, boolean keyOnly, CursorFrame leaf) throws IOException { Node node = leaf.tryAcquireShared(); if (node != null) { if (node.mSplit != null) { node = finishSplitShared(leaf, node); } try { if (mTree.isLockAvailable(txn, key, keyHash)) { // No need to acquire full lock. int pos = leaf.mNodePos; mValue = pos < 0 ? null : keyOnly ? node.hasLeafValue(pos) : node.retrieveLeafValue(pos); return true; } } finally { node.releaseShared(); } } return false; }
if (mTree.isLockAvailable(txn, mKey, keyHash)) { mValue = mKeyOnly ? node.hasLeafValue(pos) : node.retrieveLeafValue(pos); return LockResult.UNOWNED; } else { mValue = mKeyOnly ? node.hasLeafValue(pos) : node.retrieveLeafValue(pos); return result; } else {
if (mTree.isLockAvailable(txn, mKey, keyHash)) { mValue = mKeyOnly ? node.hasLeafValue(pos) : node.retrieveLeafValue(pos); return LockResult.UNOWNED; } else { mValue = mKeyOnly ? node.hasLeafValue(pos) : node.retrieveLeafValue(pos); return result; } else {
if (mTree.isLockAvailable(txn, mKey, keyHash)) { mValue = mKeyOnly ? node.hasLeafValue(pos) : node.retrieveLeafValue(pos); return LockResult.UNOWNED; } else { mValue = mKeyOnly ? node.hasLeafValue(pos) : node.retrieveLeafValue(pos); return result; } else {
originalValue = mKeyOnly ? node.hasLeafValue(pos) : node.retrieveLeafValue(pos); } catch (Throwable e) { node.releaseExclusive(); try { originalValue = mKeyOnly ? node.hasLeafValue(pos) : node.retrieveLeafValue(pos); } catch (Throwable e) { node.releaseExclusive();
int pos = frame.mNodePos; mValue = pos < 0 ? null : mKeyOnly ? node.hasLeafValue(pos) : node.retrieveLeafValue(pos); } catch (Throwable e) { node.releaseShared();
int pos = frame.mNodePos; mValue = pos < 0 ? null : mKeyOnly ? node.hasLeafValue(pos) : node.retrieveLeafValue(pos); } catch (Throwable e) { node.releaseShared();
int pos = leaf.mNodePos; mValue = pos < 0 ? null : mKeyOnly ? node.hasLeafValue(pos) : node.retrieveLeafValue(pos); } catch (Throwable e) { node.releaseShared();
int pos = frame.mNodePos; mValue = pos < 0 ? null : keyOnly ? node.hasLeafValue(pos) : node.retrieveLeafValue(pos); } catch (Throwable e) { node.releaseShared();
int pos = frame.mNodePos; mValue = pos < 0 ? null : keyOnly ? node.hasLeafValue(pos) : node.retrieveLeafValue(pos); } catch (Throwable e) { node.releaseShared();
mValue = pos < 0 ? null : node.retrieveLeafValue(pos); } catch (Throwable e) { node.releaseShared();
int pos = leaf.mNodePos; mValue = pos < 0 ? null : mKeyOnly ? node.hasLeafValue(pos) : node.retrieveLeafValue(pos); } catch (Throwable e) { node.releaseShared();
mKey = node.retrieveKey(0); if (!mKeyOnly) { mValue = node.retrieveLeafValue(0);
mKey = node.retrieveKey(pos); if (!mKeyOnly) { mValue = node.retrieveLeafValue(pos);