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.previousReference 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.rootReference 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 booleanMVMap.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 KMVMap.getMinMax(RootReference<K, V> rootRef, K key, boolean min, boolean excluding) final KMVMap.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 KMVMap.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 voidMVMap.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 RootReferenceModifierConstructorDescriptionprivateRootReference(RootReference<K, V> r, int attempt) privateRootReference(RootReference<K, V> r, long version, int attempt) privateRootReference(RootReference<K, V> r, Page<K, V> root, boolean keepLocked, int appendCounter) privateRootReference(RootReference<K, V> r, Page<K, V> root, long updateAttemptCounter) Constructor parameters in org.h2.mvstore with type arguments of type RootReferenceModifierConstructorDescriptionprivateMVMap(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.rootThe root reference.private RootReference<Long,Record<?, ?>>[] Transaction.undoLogRootReferencesRootReferences 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 longTransactionMap.adjustSize(RootReference<Long, Record<?, ?>>[] undoLogRootReferences, RootReference<K, VersionedValue<V>> mapRootReference, BitSet committingTransactions, long size, long undoLogsTotalSize) (package private) static longTransactionStore.calculateUndoLogsTotalSize(RootReference<Long, Record<?, ?>>[] undoLogRootReferences) Calculate the size for undo log entries.private VTransactionMap.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> RTransactionMap.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)