Class BPlusTree.Put
- java.lang.Object
-
- org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.Get
-
- org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.Put
-
public final class BPlusTree.Put extends BPlusTree.Get
Put operation.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected BPlusTree.ResultfinishOrLockTail(long pageId, long page, long backId, long fwdId, int lvl)Method that's invoked when operation goes up from the recursion andBPlusTree.Get.isFinished()returns false.protected BPlusTree.ResultfinishTail()Process tail and finish.voidreplaceRowInPage(BPlusIO<L> io, long pageId, long page, long pageAddr, int idx)Replaces a row in the page with a new one.BPlusTree.ResulttryReplace(long pageId, long page, long fwdId, int lvl)-
Methods inherited from class org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.Get
row
-
-
-
-
Method Detail
-
finishOrLockTail
protected BPlusTree.Result finishOrLockTail(long pageId, long page, long backId, long fwdId, int lvl) throws IgniteCheckedException
Method that's invoked when operation goes up from the recursion andBPlusTree.Get.isFinished()returns false. Either finishes the operation or locks the page for further processing on another level. ReturnsBPlusTree.Result.FOUNDif operation has finished andBPlusTree.Get.isFinished()returnstruenow. ReturnsBPlusTree.Result.RETRYif operation should be retried. ReturnsBPlusTree.Result.NOT_FOUNDif operation has added the page to tail, meaning that operation can't be finished on current level.- Parameters:
pageId- Page ID.page- Page pointer.backId- Back page ID.fwdId- Forward ID.lvl- Level.- Returns:
- Result.
- Throws:
IgniteCheckedException- If failed.
-
finishTail
protected BPlusTree.Result finishTail() throws IgniteCheckedException
Process tail and finish. Same asfinishOrLockTail(long, long, long, long, int)but doesn't add the page to the tail.- Returns:
- Result.
- Throws:
IgniteCheckedException- If failed.
-
tryReplace
public BPlusTree.Result tryReplace(long pageId, long page, long fwdId, int lvl) throws IgniteCheckedException
- Parameters:
pageId- Page ID.page- Page pointer.fwdId- Forward ID.lvl- Level.- Returns:
- Result.
- Throws:
IgniteCheckedException- If failed.
-
replaceRowInPage
public void replaceRowInPage(BPlusIO<L> io, long pageId, long page, long pageAddr, int idx) throws IgniteCheckedException
Replaces a row in the page with a new one.- Parameters:
io- Page IO for the page.pageId- Page id.page- Page pointer.pageAddr- Page address.idx- Replacement index.- Throws:
IgniteCheckedException
-
-