/** * @param pageAddr Page address. * @return Next meta page ID. */ public long getNextMetaPageId(long pageAddr) { return PageUtils.getLong(pageAddr, NEXT_META_PAGE_OFF); }
/** * @param pageAddr Page address. * @return Next counters page ID or {@code 0} if it does not exist. */ public long getNextCountersPageId(long pageAddr) { return PageUtils.getLong(pageAddr, NEXT_COUNTERS_PAGE_OFF); }
/** * @param pageAddr Page address. * @return Page ID. */ public static long getPageId(long pageAddr) { return PageUtils.getLong(pageAddr, PAGE_ID_OFF); }
/** * @param pageAddr Page address. */ public long getLastSuccessfulSnapshotId(long pageAddr) { return PageUtils.getLong(pageAddr, LAST_SUCCESSFUL_SNAPSHOT_ID_OFF); }
/** * @param pageAddr Page address. */ public long getNextSnapshotTag(long pageAddr) { return PageUtils.getLong(pageAddr, NEXT_SNAPSHOT_TAG_OFF); }
/** * @param pageAddr Page address. * @return Global remove ID. */ public long getGlobalRemoveId(long pageAddr) { return PageUtils.getLong(pageAddr, GLOBAL_RMV_ID_OFF); }
/** * @param pageAddr Page address. * @return Next page ID. */ public long getNextId(long pageAddr) { return PageUtils.getLong(pageAddr, NEXT_PAGE_ID_OFF); }
/** * Returns MVCC coordinator number. * * @param pageAddr Page address. * @param dataOff Data offset. * @return MVCC coordinator number. */ public long mvccCoordinator(long pageAddr, int dataOff) { long addr = pageAddr + dataOff; return PageUtils.getLong(addr, 0); }
/** * Returns MVCC counter value. * * @param pageAddr Page address. * @param dataOff Data offset. * @return MVCC counter value. */ public long mvccCounter(long pageAddr, int dataOff) { long addr = pageAddr + dataOff; return PageUtils.getLong(addr, 8); }
/** * @param pageAddr Page address. * @return Tree root page. */ public long getTreeRoot(long pageAddr) { return PageUtils.getLong(pageAddr, TREE_ROOT_OFF); }
/** * @param pageAddr Page address. */ public long getLastSuccessfulSnapshotTag(long pageAddr) { return PageUtils.getLong(pageAddr, LAST_SUCCESSFUL_FULL_SNAPSHOT_TAG_OFF); }
/** * @param pageAddr Page address. * @return Reuse list root page. */ public long getReuseListRoot(long pageAddr) { return PageUtils.getLong(pageAddr, REUSE_LIST_ROOT_OFF); }
/** * @param pageAddr Page address. */ public long getLastSuccessfulFullSnapshotId(long pageAddr) { return PageUtils.getLong(pageAddr, LAST_SUCCESSFUL_FULL_SNAPSHOT_ID_OFF); }
/** * @param pageAddr Page address. * @param idx Index. * @return Page ID. */ public final long getLeft(long pageAddr, int idx) { return PageUtils.getLong(pageAddr, (offset0(idx, SHIFT_LEFT))); }
/** * @param pageAddr Page address. * @param idx Index. * @return Page ID. */ public final long getRight(long pageAddr, int idx) { return PageUtils.getLong(pageAddr, offset0(idx, SHIFT_RIGHT)); }
/** {@inheritDoc} */ @Override public final long getLink(long pageAddr, int idx) { return PageUtils.getLong(pageAddr, offset(idx) + payloadSize); } }
/** * @param pageAddr Page address. * @param dataOff Points to the entry start. * @return Link to the next entry fragment or 0 if no fragments left or if entry is not fragmented. */ private long getNextFragmentLink(long pageAddr, int dataOff) { assert isFragmented(pageAddr, dataOff); return PageUtils.getLong(pageAddr, dataOff + PAYLOAD_LEN_SIZE); }
/** {@inheritDoc} */ @Override public long getLink(long pageAddr, int idx) { assert idx < getCount(pageAddr) : idx; return PageUtils.getLong(pageAddr, offset(idx)); }
/** {@inheritDoc} */ @Override public Long getLookupRow(BPlusTree<Long,?> tree, long pageAddr, int idx) { return PageUtils.getLong(pageAddr, offset(idx)); } }
/** {@inheritDoc} */ @Override public Long getLookupRow(BPlusTree<Long,?> tree, long pageAddr, int idx) { Long row = PageUtils.getLong(pageAddr, offset(idx)); checkNotRemoved(row); return row; } }