final LockResult doFind(byte[] key) throws IOException { return find(prepareFind(key), key, VARIANT_REGULAR, new CursorFrame(), latchRootNode()); }
final LockResult doFind(byte[] key) throws IOException { return find(prepareFind(key), key, VARIANT_REGULAR, new CursorFrame(), latchRootNode()); }
final LockResult doFind(byte[] key) throws IOException { return find(prepareFind(key), key, VARIANT_REGULAR, new CursorFrame(), latchRootNode()); }
@Override public final LockResult findLe(byte[] key) throws IOException { // If isolation level is read committed, then key must be // locked. Otherwise, an uncommitted delete could be observed. reset(); LocalTransaction txn = prepareFind(key); LockResult result = find(txn, key, VARIANT_RETAIN, new CursorFrame(), latchRootNode()); if (mValue != null) { mLeaf.mNode.releaseShared(); return result; } else { if (result == LockResult.ACQUIRED) { txn.unlock(); } return previous(txn, mLeaf); } }
@Override public final LockResult findGe(byte[] key) throws IOException { // If isolation level is read committed, then key must be // locked. Otherwise, an uncommitted delete could be observed. reset(); LocalTransaction txn = prepareFind(key); LockResult result = find(txn, key, VARIANT_RETAIN, new CursorFrame(), latchRootNode()); if (mValue != null) { mFrame.mNode.releaseShared(); return result; } else { if (result == LockResult.ACQUIRED) { txn.unlock(); } return next(txn, mFrame); } }
@Override public final LockResult findLe(byte[] key) throws IOException { // If isolation level is read committed, then key must be // locked. Otherwise, an uncommitted delete could be observed. reset(); LocalTransaction txn = prepareFind(key); LockResult result = find(txn, key, VARIANT_RETAIN, new CursorFrame(), latchRootNode()); if (mValue != null) { mFrame.mNode.releaseShared(); return result; } else { if (result == LockResult.ACQUIRED) { txn.unlock(); } return previous(txn, mFrame); } }
@Override public final LockResult findGe(byte[] key) throws IOException { // If isolation level is read committed, then key must be // locked. Otherwise, an uncommitted delete could be observed. reset(); LocalTransaction txn = prepareFind(key); LockResult result = find(txn, key, VARIANT_RETAIN, new CursorFrame(), latchRootNode()); if (mValue != null) { mLeaf.mNode.releaseShared(); return result; } else { if (result == LockResult.ACQUIRED) { txn.unlock(); } return next(txn, mLeaf); } }
@Override public final LockResult findLe(byte[] key) throws IOException { // If isolation level is read committed, then key must be // locked. Otherwise, an uncommitted delete could be observed. reset(); LocalTransaction txn = prepareFind(key); LockResult result = find(txn, key, VARIANT_RETAIN, new CursorFrame(), latchRootNode()); if (mValue != null) { mLeaf.mNode.releaseShared(); return result; } else { if (result == LockResult.ACQUIRED) { txn.unlock(); } return previous(txn, mLeaf); } }
@Override public final LockResult findGe(byte[] key) throws IOException { // If isolation level is read committed, then key must be // locked. Otherwise, an uncommitted delete could be observed. reset(); LocalTransaction txn = prepareFind(key); LockResult result = find(txn, key, VARIANT_RETAIN, new CursorFrame(), latchRootNode()); if (mValue != null) { mLeaf.mNode.releaseShared(); return result; } else { if (result == LockResult.ACQUIRED) { txn.unlock(); } return next(txn, mLeaf); } }
LocalTransaction txn; try { txn = prepareFind(node.retrieveKey(pos)); } catch (Throwable e) { resetLatched(node);
LocalTransaction txn; try { txn = prepareFind(node.retrieveKey(pos)); } catch (Throwable e) { resetLatched(node);
LocalTransaction txn; try { txn = prepareFind(node.retrieveKey(pos)); } catch (Throwable e) { resetLatched(node);
LocalTransaction txn; try { txn = prepareFind(startKey); } catch (Throwable e) { resetLatched(node);
@Override public final LockResult findNearby(byte[] key) throws IOException { mCursorId &= ~(1L << 63); // key will change, but cursor isn't reset LocalTransaction txn = prepareFind(key);
LocalTransaction txn; try { txn = prepareFind(startKey); } catch (Throwable e) { resetLatched(node);
@Override public final LockResult findNearby(byte[] key) throws IOException { LocalTransaction txn = prepareFind(key);
@Override public final LockResult findNearby(byte[] key) throws IOException { LocalTransaction txn = prepareFind(key);
LocalTransaction txn; try { txn = prepareFind(startKey); } catch (Throwable e) { resetLatched(node);