@Override void doWrite(long pos, byte[] buf, int off, int len) throws IOException { // FIXME: txn undo/redo try { final CursorFrame leaf = mCursor.leafExclusive(); final CommitLock.Shared shared = mCursor.commitLock(leaf); try { mCursor.notSplitDirty(leaf); action(leaf, OP_WRITE, pos, buf, off, len); leaf.mNode.releaseExclusive(); } finally { shared.release(); } } catch (IllegalStateException e) { checkOpen(); throw e; } }
@Override void doWrite(long pos, byte[] buf, int off, int len) throws IOException { // FIXME: txn undo/redo try { final CursorFrame leaf = mCursor.leafExclusive(); final CommitLock.Shared shared = mCursor.commitLock(leaf); try { mCursor.notSplitDirty(leaf); action(leaf, OP_WRITE, pos, buf, off, len); leaf.mNode.releaseExclusive(); } finally { shared.release(); } } catch (IllegalStateException e) { checkOpen(); throw e; } }
@Override public void setLength(long length) throws IOException { // FIXME: txn undo/redo try { if (length < 0) { mCursor.store(null); return; } final CursorFrame leaf = mCursor.leafExclusive(); final CommitLock.Shared shared = mCursor.commitLock(leaf); try { mCursor.notSplitDirty(leaf); action(leaf, OP_SET_LENGTH, length, EMPTY_BYTES, 0, 0); leaf.mNode.releaseExclusive(); } finally { shared.release(); } } catch (IllegalStateException e) { checkOpen(); throw e; } }
@Override public void setLength(long length) throws IOException { // FIXME: txn undo/redo try { if (length < 0) { mCursor.store(null); return; } final CursorFrame leaf = mCursor.leafExclusive(); final CommitLock.Shared shared = mCursor.commitLock(leaf); try { mCursor.notSplitDirty(leaf); action(leaf, OP_SET_LENGTH, length, EMPTY_BYTES, 0, 0); leaf.mNode.releaseExclusive(); } finally { shared.release(); } } catch (IllegalStateException e) { checkOpen(); throw e; } }
final CommitLock.Shared shared = commitLock(leaf); try { Node node = notSplitDirty(leaf);
final CommitLock.Shared shared = commitLock(leaf); try { Node node = notSplitDirty(leaf);
final CommitLock.Shared shared = commitLock(leaf); try {
key = mKey; shared = commitLock(leaf); try {