/** * Caller must hold commit lock and exclusive latch on node. This method * should only be called for nodes whose existing data is not needed. */ void redirty(_Node node) throws IOException { /*P*/ // [| if (mFullyMapped) { mPageDb.dirtyPage(node.mId); } /*P*/ // ] mDirtyList.add(node, mCommitState); }
/** * Caller must hold commit lock and exclusive latch on node. This method * should only be called for nodes whose existing data is not needed. */ void redirty(_Node node) throws IOException { /*P*/ // [| if (mFullyMapped) { mPageDb.dirtyPage(node.mId); } /*P*/ // ] mDirtyList.add(node, mCommitState); }
/** * Caller must hold commit lock and exclusive latch on node. This method * should only be called for nodes whose existing data is not needed. */ void redirty(_Node node) throws IOException { /*P*/ // [| if (mFullyMapped) { mPageDb.dirtyPage(node.mId); } /*P*/ // ] node.mContext.addDirty(node, mCommitState); }
/** * Returns a new or recycled _Node instance, latched exclusively, marked * dirty and unevictable. Caller must hold commit lock. * * @param mode MODE_UNEVICTABLE if allocated node cannot be automatically evicted */ _Node allocDirtyNode(int mode) throws IOException { _Node node = mPageDb.allocLatchedNode(this, mode); /*P*/ // [| if (mFullyMapped) { node.mPage = mPageDb.dirtyPage(node.mId); } /*P*/ // ] mDirtyList.add(node, mCommitState); return node; }
/** * Returns a new or recycled _Node instance, latched exclusively, marked * dirty and unevictable. Caller must hold commit lock. * * @param mode MODE_UNEVICTABLE if allocated node cannot be automatically evicted */ _Node allocDirtyNode(int mode) throws IOException { _Node node = mPageDb.allocLatchedNode(this, mode); /*P*/ // [| if (mFullyMapped) { node.mPage = mPageDb.dirtyPage(node.mId); } /*P*/ // ] mDirtyList.add(node, mCommitState); return node; }
/** * Returns a new or recycled _Node instance, latched exclusively, marked * dirty and unevictable. Caller must hold commit lock. * * @param mode MODE_UNEVICTABLE if allocated node cannot be automatically evicted */ _Node allocDirtyNode(int mode) throws IOException { _Node node = mPageDb.allocLatchedNode(this, mode); /*P*/ // [| if (mFullyMapped) { node.mPage = mPageDb.dirtyPage(node.mId); } /*P*/ // ] node.mContext.addDirty(node, mCommitState); return node; }
/** * Caller must hold commit lock and exclusive latch on node. */ private void dirty(_Node node, long newId) throws IOException { /*P*/ // [| if (mFullyMapped) { if (node.mPage == p_nonTreePage()) { node.mPage = mPageDb.dirtyPage(newId); node.asEmptyRoot(); } else if (node.mPage != p_closedTreePage()) { node.mPage = mPageDb.copyPage(node.mId, newId); // copy on write } } /*P*/ // ] node.mId = newId; mDirtyList.add(node, mCommitState); }
/** * Caller must hold commit lock and exclusive latch on node. */ private void dirty(_Node node, long newId) throws IOException { /*P*/ // [| if (mFullyMapped) { if (node.mPage == p_nonTreePage()) { node.mPage = mPageDb.dirtyPage(newId); node.asEmptyRoot(); } else if (node.mPage != p_closedTreePage()) { node.mPage = mPageDb.copyPage(node.mId, newId); // copy on write } } /*P*/ // ] node.mId = newId; node.mContext.addDirty(node, mCommitState); }
/** * Caller must hold commit lock and exclusive latch on node. */ private void dirty(_Node node, long newId) throws IOException { /*P*/ // [| if (mFullyMapped) { if (node.mPage == p_nonTreePage()) { node.mPage = mPageDb.dirtyPage(newId); node.asEmptyRoot(); } else if (node.mPage != p_closedTreePage()) { node.mPage = mPageDb.copyPage(node.mId, newId); // copy on write } } /*P*/ // ] node.mId = newId; mDirtyList.add(node, mCommitState); }
root.mPage = mPageDb.dirtyPage(rootId);