public class H2Tree extends BPlusTree<H2Row,H2Row>
| Modifier and Type | Class and Description |
|---|---|
static class |
H2Tree.MetaPageInfo |
BPlusTree.Get, BPlusTree.Insert, BPlusTree.Invoke, BPlusTree.Put, BPlusTree.Remove, BPlusTree.Replace, BPlusTree.Result, BPlusTree.Search, BPlusTree.TreeRowClosure<L,T extends L>, BPlusTree.TreeRowMapper<L,T extends L,R>, BPlusTree.TreeVisitorClosure<L,T extends L>IgniteTree.InvokeClosure<T>, IgniteTree.OperationType| Modifier and Type | Field and Description |
|---|---|
static int |
DFLT_THROTTLE_INLINE_SIZE_CALCULATION |
static String |
IGNITE_THROTTLE_INLINE_SIZE_CALCULATION |
CONC_DESTROY_MSG, IGNITE_BPLUS_TREE_LOCK_RETRIES_DEFAULT, metaPageId, suspendFailureDiagnostic, testHndWrappergrpId, grpName, metrics, pageFlag, pageIoRslvr, pageMem, reuseList, rnd, wal| Constructor and Description |
|---|
H2Tree(@Nullable GridCacheContext<?,?> cctx,
GridH2Table table,
String name,
String idxName,
String cacheName,
String tblName,
ReuseList reuseList,
int grpId,
String grpName,
PageMemory pageMem,
IgniteWriteAheadLogManager wal,
AtomicLong globalRmvId,
long metaPageId,
boolean initNew,
List<org.gridgain.internal.h2.table.IndexColumn> unwrappedCols,
List<org.gridgain.internal.h2.table.IndexColumn> wrappedCols,
AtomicInteger maxCalculatedInlineSize,
boolean pk,
boolean affinityKey,
boolean mvccEnabled,
@Nullable H2RowCache rowCache,
@Nullable FailureProcessor failureProcessor,
PageLockTrackerManager pageLockTrackerManager,
IgniteLogger log,
@Nullable IoStatisticsHolder stats,
InlineIndexColumnFactory factory,
int configuredInlineSize,
PageIoResolver pageIoRslvr)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
org.gridgain.internal.h2.table.IndexColumn[] |
cols()
Return columns of the index.
|
protected int |
compare(BPlusIO<H2Row> io,
long pageAddr,
int idx,
H2Row row) |
int |
compareRows(H2Row r1,
H2Row r2)
Compares two H2 rows.
|
int |
compareValues(org.gridgain.internal.h2.value.Value v1,
org.gridgain.internal.h2.value.Value v2) |
void |
copyMetaInfo(H2Tree.MetaPageInfo info)
Copy info from another meta page.
|
protected CorruptedTreeException |
corruptedTreeException(String msg,
Throwable cause,
int grpId,
long... pageIds)
Construct the exception and invoke failure processor.
|
boolean |
created() |
H2Row |
createMvccRow(long link,
long mvccCrdVer,
long mvccCntr,
int mvccOpCntr)
Create row from link.
|
H2Row |
createMvccRow(long link,
long mvccCrdVer,
long mvccCntr,
int mvccOpCntr,
CacheDataRowAdapter.RowData rowData)
Create row from link.
|
H2Row |
createRow(long link)
Create row from link.
|
H2Row |
createRow(long link,
boolean follow) |
boolean |
getAffinityKey() |
H2Tree.MetaPageInfo |
getMetaInfo() |
boolean |
getPk() |
H2Row |
getRow(BPlusIO<H2Row> io,
long pageAddr,
int idx,
Object ignore) |
List<InlineIndexColumn> |
inlineIndexes() |
int |
inlineSize() |
protected String |
lockRetryErrorMessage(String op) |
protected long |
maxLockHoldTime() |
protected IoStatisticsHolder |
statisticsHolder() |
GridH2Table |
table() |
protected void |
temporaryReleaseLock() |
String |
toString() |
boolean |
unwrappedPk() |
acquirePage, checkDestroyed, compare, destroy, destroy, destroyDownPages, destroyed, enableSequentialWriteMode, find, find, find, findFirst, findFirst, findLast, findLast, findOne, findOne, findOne, findRandom, getFirstPageIds, getLockRetries, getMetaPageId, getRow, initTree, initTree, interruptAll, invoke, isEmpty, iterate, latestInnerIO, latestLeafIO, markDestroyed, printTree, processFailure, put, putx, read, read, remove, removex, rootLevel, setIos, size, size, treeName, validateTree, visitacquirePage, allocatePage, allocatePage, allocatePageNoReuse, close, groupId, init, name, needWalDeltaRecord, pageSize, randomInt, read, read, readLock, readUnlock, recyclePage, releasePage, tryWriteLock, write, write, write, write, writeLock, writeUnlock, writeUnlockpublic static final int DFLT_THROTTLE_INLINE_SIZE_CALCULATION
@SystemProperty(value="How often real invocation of inline size calculation will be skipped.", type=java.lang.Long.class, defaults="1000") public static final String IGNITE_THROTTLE_INLINE_SIZE_CALCULATION
public H2Tree(@Nullable
@Nullable GridCacheContext<?,?> cctx,
GridH2Table table,
String name,
String idxName,
String cacheName,
String tblName,
ReuseList reuseList,
int grpId,
String grpName,
PageMemory pageMem,
IgniteWriteAheadLogManager wal,
AtomicLong globalRmvId,
long metaPageId,
boolean initNew,
List<org.gridgain.internal.h2.table.IndexColumn> unwrappedCols,
List<org.gridgain.internal.h2.table.IndexColumn> wrappedCols,
AtomicInteger maxCalculatedInlineSize,
boolean pk,
boolean affinityKey,
boolean mvccEnabled,
@Nullable
@Nullable H2RowCache rowCache,
@Nullable
@Nullable FailureProcessor failureProcessor,
PageLockTrackerManager pageLockTrackerManager,
IgniteLogger log,
@Nullable
@Nullable IoStatisticsHolder stats,
InlineIndexColumnFactory factory,
int configuredInlineSize,
PageIoResolver pageIoRslvr)
throws IgniteCheckedException
cctx - Cache context.table - Owning table.name - Name of the tree.idxName - Name of the index.cacheName - Name of the cache.tblName - Name of the table.reuseList - Reuse list.grpId - Cache group ID.grpName - Name of the cache group.pageMem - Page memory.wal - Write ahead log manager.globalRmvId - Global remove ID counter.metaPageId - Meta page ID.initNew - if true new tree will be initialized,
else meta page info will be read.unwrappedCols - Unwrapped indexed columns.wrappedCols - Original indexed columns.maxCalculatedInlineSize - Keep max calculated inline size
for current index.pk - true for primary key.affinityKey - true for affinity key.mvccEnabled - Mvcc flag.rowCache - Row cache.failureProcessor - if the tree is corrupted.pageLockTrackerManager - Page lock tracker manager.log - Logger.stats - Statistics holder.factory - Inline helper factory.configuredInlineSize - Size that has been set by user during
index creation.IgniteCheckedException - If failed.public org.gridgain.internal.h2.table.IndexColumn[] cols()
public H2Row createRow(long link) throws IgniteCheckedException
link - Link.IgniteCheckedException - if failed.public H2Row createRow(long link, boolean follow) throws IgniteCheckedException
IgniteCheckedExceptionpublic H2Row createMvccRow(long link, long mvccCrdVer, long mvccCntr, int mvccOpCntr) throws IgniteCheckedException
link - Link.mvccOpCntr - MVCC operation counter.IgniteCheckedException - if failed.public H2Row createMvccRow(long link, long mvccCrdVer, long mvccCntr, int mvccOpCntr, CacheDataRowAdapter.RowData rowData) throws IgniteCheckedException
link - Link.mvccOpCntr - MVCC operation counter.IgniteCheckedException - if failed.public boolean getPk()
public boolean getAffinityKey()
public H2Row getRow(BPlusIO<H2Row> io, long pageAddr, int idx, Object ignore) throws IgniteCheckedException
getRow in class BPlusTree<H2Row,H2Row>IgniteCheckedExceptionpublic int inlineSize()
public H2Tree.MetaPageInfo getMetaInfo() throws IgniteCheckedException
IgniteCheckedException - If failed.public void copyMetaInfo(H2Tree.MetaPageInfo info) throws IgniteCheckedException
info - Meta page info.IgniteCheckedException - If failed.protected int compare(BPlusIO<H2Row> io, long pageAddr, int idx, H2Row row) throws IgniteCheckedException
compare in class BPlusTree<H2Row,H2Row>IgniteCheckedExceptionpublic int compareRows(H2Row r1, H2Row r2)
r1 - Row 1.r2 - Row 2.Comparator.compare(Object, Object) for values.protected IoStatisticsHolder statisticsHolder()
statisticsHolder in class BPlusTree<H2Row,H2Row>public boolean unwrappedPk()
true In case use unwrapped columns for PKpublic List<InlineIndexColumn> inlineIndexes()
public int compareValues(org.gridgain.internal.h2.value.Value v1,
org.gridgain.internal.h2.value.Value v2)
v1 - First value.v2 - Second value.public boolean created()
True if index was created during curren node's lifetime, False if it was restored from
disk.protected CorruptedTreeException corruptedTreeException(String msg, Throwable cause, int grpId, long... pageIds)
corruptedTreeException in class BPlusTree<H2Row,H2Row>msg - Message.cause - Cause.grpId - Group id.pageIds - Pages ids.protected void temporaryReleaseLock()
temporaryReleaseLock in class BPlusTree<H2Row,H2Row>protected long maxLockHoldTime()
maxLockHoldTime in class BPlusTree<H2Row,H2Row>protected String lockRetryErrorMessage(String op)
lockRetryErrorMessage in class BPlusTree<H2Row,H2Row>public GridH2Table table()
Follow @ApacheIgnite
Ignite Database and Caching Platform : ver. 8.9.23-p1 Release Date : November 19 2025