/** * @param pageAddr Page address. * @param freeListPageId Free list page ID. */ public void setFreeListPageId(long pageAddr, long freeListPageId) { PageUtils.putLong(pageAddr, FREE_LIST_PAGE_ID_OFF, freeListPageId); }
/** * @param pageAddr Page address. * @param lastSuccessfulSnapshotTag Last successful snapshot tag. */ public void setLastSuccessfulSnapshotTag(long pageAddr, long lastSuccessfulSnapshotTag) { PageUtils.putLong(pageAddr, LAST_SUCCESSFUL_FULL_SNAPSHOT_TAG_OFF, lastSuccessfulSnapshotTag); }
/** * @param pageAddr Page address. * @param prevId Previous page ID. */ public void setPreviousId(long pageAddr, long prevId) { PageUtils.putLong(pageAddr, PREV_PAGE_ID_OFF, prevId); }
/** * @param pageAddr Page address. * @param pageId Root page ID. */ public void setReuseListRoot(long pageAddr, long pageId) { PageUtils.putLong(pageAddr, REUSE_LIST_ROOT_OFF, pageId); }
/** * Sets new reference to partition counters page (logical cache sizes). * * @param pageAddr Partition metadata page address. * @param cntrsPageId New cache sizes page ID. */ public void setCountersPageId(long pageAddr, long cntrsPageId) { PageUtils.putLong(pageAddr, NEXT_PART_META_PAGE_OFF, cntrsPageId); }
/** * @param pageAddr Page address. * @param nextId Next page ID. */ public void setNextId(long pageAddr, long nextId) { PageUtils.putLong(pageAddr, NEXT_PAGE_ID_OFF, nextId); }
/** * @param pageAddr Page address. * @param partMetaPageId Next counters page ID. */ public void setNextCountersPageId(long pageAddr, long partMetaPageId) { PageUtils.putLong(pageAddr, NEXT_COUNTERS_PAGE_OFF, partMetaPageId); }
/** * @param pageAddr Page address. * @param pageId Forward page ID. */ public final void setForward(long pageAddr, long pageId) { PageUtils.putLong(pageAddr, FORWARD_OFF, pageId); assert getForward(pageAddr) == pageId; }
/** {@inheritDoc} */ @Override public void setMvccLockCounter(long pageAddr, int idx, long lockCntr) { PageUtils.putLong(pageAddr, offset(idx) + 40, lockCntr); } }
/** * @param pageAddr Page address. * @param idx Item index. * @param pageId Item value to write. */ private void setAt(long pageAddr, int idx, long pageId) { PageUtils.putLong(pageAddr, offset(idx), pageId); }
/** * @param pageAddr Page address. * @param rmvId Remove ID. */ public final void setRemoveId(long pageAddr, long rmvId) { PageUtils.putLong(pageAddr, REMOVE_ID_OFF, rmvId); assert getRemoveId(pageAddr) == rmvId; }
/** * @param pageAddr Page address. * @param cntr Partition update counter. */ public boolean setUpdateCounter(long pageAddr, long cntr) { if (getUpdateCounter(pageAddr) == cntr) return false; PageUtils.putLong(pageAddr, UPDATE_CNTR_OFF, cntr); return true; }
/** * @param pageAddr Page address. * @param pageId Page ID. */ public static void setPageId(long pageAddr, long pageId) { PageUtils.putLong(pageAddr, PAGE_ID_OFF, pageId); assert getPageId(pageAddr) == pageId; }
/** * @param pageAddr Page address. * @param rmvId Global remove ID. */ public boolean setGlobalRemoveId(long pageAddr, long rmvId) { if (getGlobalRemoveId(pageAddr) == rmvId) return false; PageUtils.putLong(pageAddr, GLOBAL_RMV_ID_OFF, rmvId); return true; }
/** * @param pageAddr Page address. * @param idx Index. * @param pageId Page ID. */ private void setRight(long pageAddr, int idx, long pageId) { PageUtils.putLong(pageAddr, offset0(idx, SHIFT_RIGHT), pageId); assert pageId == getRight(pageAddr, idx); }
/** * @param pageAddr Page address. * @param idx Index. * @param pageId Page ID. */ public final void setLeft(long pageAddr, int idx, long pageId) { PageUtils.putLong(pageAddr, offset0(idx, SHIFT_LEFT), pageId); assert pageId == getLeft(pageAddr, idx); }
/** * @param pageAddr Page address. * @param lvl Level. * @param pageId Page ID. */ private void setFirstPageId(long pageAddr, int lvl, long pageId) { assert lvl >= 0 && lvl < getLevelsCount(pageAddr) : lvl; PageUtils.putLong(pageAddr, offset(lvl), pageId); assert getFirstPageId(pageAddr, lvl) == pageId; }
/** {@inheritDoc} */ @Override public void store(long dstPageAddr, int dstIdx, BPlusIO<MetastorageSearchRow> srcIo, long srcPageAddr, int srcIdx) { int srcOff = srcIo.offset(srcIdx); int dstOff = offset(dstIdx); long link = ((DataLinkIO)srcIo).getLink(srcPageAddr, srcIdx); short len = ((DataLinkIO)srcIo).getKeySize(srcPageAddr, srcIdx); byte[] payload = PageUtils.getBytes(srcPageAddr, srcOff + 10, len); PageUtils.putLong(dstPageAddr, dstOff, link); PageUtils.putShort(dstPageAddr, dstOff + 8, len); PageUtils.putBytes(dstPageAddr, dstOff + 10, payload); }
/** {@inheritDoc} */ @Override public void store(long dstPageAddr, int dstIdx, BPlusIO<MetastorageSearchRow> srcIo, long srcPageAddr, int srcIdx) { int srcOff = srcIo.offset(srcIdx); int dstOff = offset(dstIdx); long link = ((DataLinkIO)srcIo).getLink(srcPageAddr, srcIdx); short len = ((DataLinkIO)srcIo).getKeySize(srcPageAddr, srcIdx); byte[] payload = PageUtils.getBytes(srcPageAddr, srcOff + 10, len); PageUtils.putLong(dstPageAddr, dstOff, link); PageUtils.putShort(dstPageAddr, dstOff + 8, len); PageUtils.putBytes(dstPageAddr, dstOff + 10, payload); }