Uses of Class
org.h2.mvstore.RootReference
Packages that use RootReference
Package
Description
A persistent storage for tree maps.
Helper classes to use the MVStore in a transactional manner.
-
Uses of RootReference in org.h2.mvstore
Fields in org.h2.mvstore declared as RootReferenceModifier and TypeFieldDescription(package private) RootReference
<K, V> RootReference.previous
Reference to the previous root in the chain.Fields in org.h2.mvstore with type parameters of type RootReferenceModifier and TypeFieldDescriptionprivate final AtomicReference
<RootReference<K, V>> MVMap.root
Reference to the current root page.Methods in org.h2.mvstore that return RootReferenceModifier and TypeMethodDescription(package private) RootReference
<K, V> MVMap.clearIt()
Remove all entries and return the root reference.MVMap.flushAndGetRoot()
Get the root reference, flushing any current append buffer.private RootReference
<K, V> MVMap.flushAppendBuffer
(RootReference<K, V> rootReference, boolean fullFlush) If map was used in append mode, this method will ensure that append buffer is flushed - emptied with all entries inserted into map as a new leaf.MVMap.getRoot()
private RootReference
<K, V> MVMap.lockRoot
(RootReference<K, V> rootReference, int attempt) (package private) final RootReference
<K, V> MVMap.setWriteVersion
(long writeVersion) protected RootReference
<K, V> MVMap.tryLock
(RootReference<K, V> rootReference, int attempt) Try to lock the root.(package private) RootReference
<K, V> RootReference.tryLock
(int attemptCounter) Try to lock.(package private) RootReference
<K, V> RootReference.tryUnlockAndUpdateVersion
(long version, int attempt) Try to unlock, and if successful update the versionprivate RootReference
<K, V> RootReference.tryUpdate
(RootReference<K, V> updatedRootReference) private RootReference
<K, V> MVMap.unlockRoot()
Unlock the root page, the new root being null.protected RootReference
<K, V> MVMap.unlockRoot
(Page<K, V> newRootPage) Unlock the root page.private RootReference
<K, V> MVMap.unlockRoot
(Page<K, V> newRootPage, int appendCounter) (package private) RootReference
<K, V> RootReference.updatePageAndLockedStatus
(Page<K, V> page, boolean keepLocked, int appendCounter) Update the page, possibly keeping it locked.(package private) RootReference
<K, V> RootReference.updateRootPage
(Page<K, V> newRootPage, long attemptCounter) Try to unlock.Methods in org.h2.mvstore with parameters of type RootReferenceModifier and TypeMethodDescription(package private) final boolean
MVMap.compareAndSetRoot
(RootReference<K, V> expectedRootReference, RootReference<K, V> updatedRootReference) Compare and set the root reference.Get a cursor to iterate over a number of keys and values.private RootReference
<K, V> MVMap.flushAppendBuffer
(RootReference<K, V> rootReference, boolean fullFlush) If map was used in append mode, this method will ensure that append buffer is flushed - emptied with all entries inserted into map as a new leaf.private K
MVMap.getMinMax
(RootReference<K, V> rootRef, K key, boolean min, boolean excluding) final K
MVMap.higherKey
(RootReference<K, V> rootRef, K key) Get the smallest key that is larger than the given key, for the given root page, or null if no such key exists.private RootReference
<K, V> MVMap.lockRoot
(RootReference<K, V> rootReference, int attempt) final K
MVMap.lowerKey
(RootReference<K, V> rootRef, K key) Get the largest key that is smaller than the given key, for the given root page, or null if no such key exists.private void
MVMap.removeUnusedOldVersions
(RootReference<K, V> rootReference) Forget those old versions that are no longer needed.protected RootReference
<K, V> MVMap.tryLock
(RootReference<K, V> rootReference, int attempt) Try to lock the root.private RootReference
<K, V> RootReference.tryUpdate
(RootReference<K, V> updatedRootReference) protected static <K,
V> boolean MVMap.updateRoot
(RootReference<K, V> expectedRootReference, Page<K, V> newRootPage, int attemptUpdateCounter) Use the new root page from now on.Constructors in org.h2.mvstore with parameters of type RootReferenceModifierConstructorDescriptionprivate
RootReference
(RootReference<K, V> r, int attempt) private
RootReference
(RootReference<K, V> r, long version, int attempt) private
RootReference
(RootReference<K, V> r, Page<K, V> root, boolean keepLocked, int appendCounter) private
RootReference
(RootReference<K, V> r, Page<K, V> root, long updateAttemptCounter) Constructor parameters in org.h2.mvstore with type arguments of type RootReferenceModifierConstructorDescriptionprivate
MVMap
(MVStore store, DataType<K> keyType, DataType<V> valueType, int id, long createVersion, AtomicReference<RootReference<K, V>> root, int keysPerPage, boolean singleWriter) -
Uses of RootReference in org.h2.mvstore.tx
Fields in org.h2.mvstore.tx declared as RootReferenceModifier and TypeFieldDescription(package private) final RootReference
<K, V> Snapshot.root
The root reference.private RootReference<Long,
Record<?, ?>>[] Transaction.undoLogRootReferences
RootReferences for undo log snapshotsMethods in org.h2.mvstore.tx that return RootReferenceModifier and TypeMethodDescription(package private) RootReference<Long,
Record<?, ?>>[] TransactionStore.collectUndoLogRootReferences()
Get the root references (snapshots) for undo-log maps.(package private) RootReference<Long,
Record<?, ?>>[] Transaction.getUndoLogRootReferences()
Methods in org.h2.mvstore.tx with parameters of type RootReferenceModifier and TypeMethodDescriptionprivate long
TransactionMap.adjustSize
(RootReference<Long, Record<?, ?>>[] undoLogRootReferences, RootReference<K, VersionedValue<V>> mapRootReference, BitSet committingTransactions, long size, long undoLogsTotalSize) (package private) static long
TransactionStore.calculateUndoLogsTotalSize
(RootReference<Long, Record<?, ?>>[] undoLogRootReferences) Calculate the size for undo log entries.private V
TransactionMap.getFromSnapshot
(RootReference<K, VersionedValue<V>> rootRef, BitSet committingTransactions, K key) Method parameters in org.h2.mvstore.tx with type arguments of type RootReferenceModifier and TypeMethodDescription(package private) <R> R
TransactionMap.useSnapshot
(BiFunction<RootReference<K, VersionedValue<V>>, BitSet, R> snapshotConsumer) Gets a coherent picture of committing transactions and root reference, passes it to the specified function, and returns its result.Constructors in org.h2.mvstore.tx with parameters of type RootReferenceModifierConstructorDescription(package private)
Snapshot
(RootReference<K, V> root, BitSet committingTransactions)