Class DBTraceObjectValueRStarTree
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class ghidra.util.database.spatial.hyper.AbstractHyperRStarTree
AbstractHyperRStarTree.AsSpatialMap<DS extends BoundedShape<NS>,DR extends DBTreeDataRecord<DS, NS, T>, NS extends HyperBox<?, NS>, T, Q extends AbstractHyperBoxQuery<?, DS, NS, Q>> Nested classes/interfaces inherited from class ghidra.util.database.spatial.AbstractRStarConstraintsTree
AbstractRStarConstraintsTree.LeastAreaEnlargementThenLeastArea, AbstractRStarConstraintsTree.LeastDistanceFromCenterToPoint, AbstractRStarConstraintsTree.LevelInfoNested classes/interfaces inherited from class ghidra.util.database.spatial.AbstractConstraintsTree
AbstractConstraintsTree.TreeRecordVisitor, AbstractConstraintsTree.VisitResult -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final DBCachedObjectIndex<Long, DBTraceObjectValueData> protected final DBTraceObjectManagerprotected final DBCachedObjectIndex<Long, DBTraceObjectValueNode> Fields inherited from class ghidra.util.database.spatial.hyper.AbstractHyperRStarTree
axes, spaceFields inherited from class ghidra.util.database.spatial.AbstractRStarConstraintsTree
CHEAT_OVERLAP_COUNT, FILL_RATE, MAX_LEVELS, maxChildren, minChildren, REINSERT_RATE, reinsertCountFields inherited from class ghidra.util.database.spatial.AbstractConstraintsTree
cachedDataChildren, cachedNodeChildren, dataStore, leafLevel, nodeStore, root -
Constructor Summary
ConstructorsConstructorDescriptionDBTraceObjectValueRStarTree(DBTraceObjectManager manager, DBCachedObjectStoreFactory storeFactory, String tableName, EuclideanHyperSpace<ghidra.trace.database.target.ValueTriple, ValueBox> space, Class<DBTraceObjectValueData> dataType, Class<DBTraceObjectValueNode> nodeType, boolean upgradeable, int maxChildren) -
Method Summary
Modifier and TypeMethodDescriptionprotected DBTraceObjectValueDatacreateDataEntry(DBCachedObjectStore<DBTraceObjectValueData> store, DBRecord record) protected DBTraceObjectValueNodecreateNodeEntry(DBCachedObjectStore<DBTraceObjectValueNode> store, DBRecord record) protected voidprotected voidprotected voidRemove a data record from the tree, but keep the orphaned record in the tableprotected Collection<DBTraceObjectValueData> getDataChildrenOf(long parentKey) For leaf nodes, get the children.protected DBCachedObjectStore<DBTraceObjectValueData> protected Collection<DBTraceObjectValueNode> getNodeChildrenOf(long parentKey) For non-leaf nodes, get the children.Methods inherited from class ghidra.util.database.spatial.hyper.AbstractHyperRStarTree
dimComparator, getDefaultBoundsComparator, getSplitAxesMethods inherited from class ghidra.util.database.spatial.AbstractRStarConstraintsTree
checkNodeIntegrity, computeOverlap, doChooseSplitAxis, doChooseSplitIndex, doChooseSubtree, doInsert, doInsertData, doOverflowTreatment, doReInsert, doSplit, findChildByMinimumEnlargementCost, findChildByNearlyMinimumOverlapCostMethods inherited from class ghidra.util.database.spatial.AbstractConstraintsTree
checkDataIntegrity, checkIntegrity, clear, computeLeafLevel, count, destroySubtree, doAddToCachedChildren, doDecrementDataCount, doFindExact, doRecomputeBounds, doRemoveData, doRemoveFromCachedChildren, doSetParentKey, doUpdateOrDeleteAlongPath, dump, first, getChildrenOf, getDataByKey, getDataChildrenOf, getNodeChildrenOf, getOrCreateRoot, getParentOf, getUserIndex, init, invalidateCache, isEmpty, iterator, iterator, orderedIterator, resyncMetadata, unionStream, visit, visit, visitAllData
-
Field Details
-
manager
-
nodesByParent
-
dataByParent
-
-
Constructor Details
-
DBTraceObjectValueRStarTree
public DBTraceObjectValueRStarTree(DBTraceObjectManager manager, DBCachedObjectStoreFactory storeFactory, String tableName, EuclideanHyperSpace<ghidra.trace.database.target.ValueTriple, ValueBox> space, Class<DBTraceObjectValueData> dataType, Class<DBTraceObjectValueNode> nodeType, boolean upgradeable, int maxChildren) throws VersionException, IOException- Throws:
VersionExceptionIOException
-
-
Method Details
-
getDataStore
-
doUnparentEntry
Description copied from class:AbstractConstraintsTreeRemove a data record from the tree, but keep the orphaned record in the tableNote that at most one orphaned record should be in the table at any time, otherwise behavior is undefined. It is up to the implementor to provide a means of inserting orphaned data records back into the tree. This is useful for implementations which allow a data record's shape to be mutated: Orphan the record, adjust its shape, re-insert the orphan.
- Overrides:
doUnparentEntryin classAbstractConstraintsTree<ValueShape,DBTraceObjectValueData, ValueBox, DBTraceObjectValueNode, DBTraceObjectValueData, TraceObjectValueQuery> - Parameters:
data- the data record
-
doInsertDataEntry
-
doDeleteEntry
-
createDataEntry
protected DBTraceObjectValueData createDataEntry(DBCachedObjectStore<DBTraceObjectValueData> store, DBRecord record) -
createNodeEntry
protected DBTraceObjectValueNode createNodeEntry(DBCachedObjectStore<DBTraceObjectValueNode> store, DBRecord record) -
getNodeChildrenOf
Description copied from class:AbstractConstraintsTreeFor non-leaf nodes, get the children.For leaf nodes, the behavior is undefined. Note that the query should not filter the children, only order them. Filtering is performed by
AbstractConstraintsTree<DS extends BoundedShape<NS>,.DR extends DBTreeDataRecord<DS, NS, T>, NS extends BoundingShape<NS>, NR extends DBTreeNodeRecord<NS>, T, Q extends Query<DS, NS>>.TreeRecordVisitor - Specified by:
getNodeChildrenOfin classAbstractConstraintsTree<ValueShape,DBTraceObjectValueData, ValueBox, DBTraceObjectValueNode, DBTraceObjectValueData, TraceObjectValueQuery> - Parameters:
parentKey- the key of the parent whose children to get- Returns:
- an iterable of the children
-
getDataChildrenOf
Description copied from class:AbstractConstraintsTreeFor leaf nodes, get the children.For non-leaf nodes, the behavior is undefined. Note that the query should not filter the children, only order them, or else the collection will return an incorrect
Collection.size(). Filtering is performed byAbstractConstraintsTree<DS extends BoundedShape<NS>,.DR extends DBTreeDataRecord<DS, NS, T>, NS extends BoundingShape<NS>, NR extends DBTreeNodeRecord<NS>, T, Q extends Query<DS, NS>>.TreeRecordVisitor - Specified by:
getDataChildrenOfin classAbstractConstraintsTree<ValueShape,DBTraceObjectValueData, ValueBox, DBTraceObjectValueNode, DBTraceObjectValueData, TraceObjectValueQuery> - Parameters:
parentKey- the key of the parent whose children to get- Returns:
- an iterable of the children
-
asSpatialMap
- Overrides:
asSpatialMapin classAbstractHyperRStarTree<ghidra.trace.database.target.ValueTriple,ValueShape, DBTraceObjectValueData, ValueBox, DBTraceObjectValueNode, DBTraceObjectValueData, TraceObjectValueQuery>
-