| Package | Description |
|---|---|
| com.sleepycat.je |
Foundation for creating environments, databases and transactions; provides
cursor based data access.
|
| com.sleepycat.je.cleaner |
INTERNAL: disk garbage collection.
|
| com.sleepycat.je.dbi |
INTERNAL: Underlying XxxImpl classes for Environment, Database and Cursor,
plus other misc classes (originally, dbi meant "db internal interface").
|
| com.sleepycat.je.incomp |
INTERNAL: IN compressor performs background deletion of defunct IN slots
and deletes empty INs.
|
| com.sleepycat.je.log |
INTERNAL: Low level data storage including log entry sequential
logging/writing, random reading/fetching, and sequential reading.
|
| com.sleepycat.je.log.entry |
INTERNAL: Classes for serializing/materializing log entries.
|
| com.sleepycat.je.recovery |
INTERNAL: Performs recovery/startup processing during Environment open, and
checkpoints to bound recovery time.
|
| com.sleepycat.je.rep.impl |
INTERNAL: Top level HA implementation classes.
|
| com.sleepycat.je.rep.impl.node |
INTERNAL: Feeder and Replica node implementations.
|
| com.sleepycat.je.rep.txn |
INTERNAL: HA Txn/Locker subclasses for enforcing consistency and durability
constraints.
|
| com.sleepycat.je.rep.vlsn |
INTERNAL: VLSN index (in-memory and persistent) for mapping VLSNs to LSNs.
|
| com.sleepycat.je.tree |
INTERNAL: Btree data structure (the JE main cache), including persistent
nodes classes, and Btree access methods.
|
| com.sleepycat.je.tree.dupConvert |
INTERNAL: Defunct Btree classes for old duplicate Btrees, only used during
recovery.
|
| com.sleepycat.je.txn |
INTERNAL: Transaction management and locking (concurrency control).
|
| Modifier and Type | Method and Description |
|---|---|
static DatabaseImpl |
DbInternal.getDbImpl(Database db)
Proxy to Database.getDbImpl()
|
| Modifier and Type | Method and Description |
|---|---|
static Cursor |
DbInternal.makeCursor(DatabaseImpl databaseImpl,
Locker locker,
CursorConfig cursorConfig)
Create a Cursor for internal use from a DatabaseImpl.
|
static Cursor |
DbInternal.makeCursor(DatabaseImpl databaseImpl,
Locker locker,
CursorConfig cursorConfig,
boolean retainNonTxnLocks)
Create a Cursor for internal use from a DatabaseImpl, specifying
retainNonTxnLocks.
|
| Modifier and Type | Method and Description |
|---|---|
void |
ExtinctionScanner.ensureDbExtinction(DatabaseImpl dbImpl)
Called during recovery when a NameLN delete/truncate is not followed by
the appropriate MapLN deletion.
|
boolean |
Cleaner.getFetchObsoleteSize(DatabaseImpl db) |
boolean |
Cleaner.repairReservedFile(DatabaseImpl dbImpl,
CursorImpl cursorImpl,
byte[] key)
If the LSN at the cursor position refers to an LN in a reserved file,
and the LN may be fetched (is not embedded, etc) then repair the
problem by reactivating the file.
|
void |
ExtinctionScanner.startDbExtinction(DatabaseImpl dbImpl)
Used after transaction commit or non-transactional operation end in
these cases:
purge the deleted database after a commit of
Environment.removeDatabase
purge the deleted database after a commit of
Environment.truncateDatabase
purge the newly created database after an abort of
Environment.truncateDatabase
|
| Modifier and Type | Field and Description |
|---|---|
DatabaseImpl |
DbTree.TruncateDbResult.newDb |
| Modifier and Type | Method and Description |
|---|---|
DatabaseImpl |
DbTree.createDb(Locker locker,
String databaseName,
DatabaseConfig dbConfig,
HandleLocker handleLocker)
Creates a new database object given a database name.
|
DatabaseImpl |
DbTree.createInternalDb(Locker locker,
String databaseName,
DatabaseConfig dbConfig)
Create a database for internal use.
|
DatabaseImpl |
DbTree.createReplicaDb(Locker locker,
String databaseName,
DatabaseConfig dbConfig,
NameLN replicatedLN,
ReplicationContext repContext)
Create a replicated database on this replica node.
|
DatabaseImpl |
DbTree.dbRemove(Locker locker,
String databaseName,
DatabaseId checkId)
Stand alone and Master invocations.
|
DatabaseImpl |
DbTree.dbRename(Locker locker,
String databaseName,
String newName)
Stand alone and Master invocations.
|
DatabaseImpl |
TruncateResult.getDatabase() |
DatabaseImpl |
CursorImpl.getDb() |
DatabaseImpl |
DbTree.getDb(DatabaseId dbId)
Get a database object based on an id only.
|
DatabaseImpl |
DbTree.getDb(DatabaseId dbId,
long lockTimeout)
Get a database object based on an id only.
|
DatabaseImpl |
DbTree.getDb(DatabaseId dbId,
long lockTimeout,
Map<DatabaseId,DatabaseImpl> dbCache)
Get a database object based on an id only, caching the id-db mapping in
the given map.
|
DatabaseImpl |
DbTree.getDb(Locker nameLocker,
String databaseName,
HandleLocker handleLocker,
boolean writeLock)
Get a database object given a database name.
|
DatabaseImpl |
DbTree.getIdDatabaseImpl() |
DatabaseImpl |
DbTree.getNameDatabaseImpl() |
DatabaseImpl |
DbTree.openNonRepInternalDB(DbType dbType)
Opens (or creates if it does not exist) an internal, non-replicated DB.
|
DatabaseImpl |
DbTree.renameReplicaDb(Locker locker,
String databaseName,
String newName,
NameLN replicatedLN,
DbOpReplicationContext repContext)
Replica invocations.
|
| Modifier and Type | Method and Description |
|---|---|
Provisional |
EnvironmentImpl.coordinateWithCheckpoint(DatabaseImpl dbImpl,
int targetLevel,
IN parent)
Coordinates an eviction with an in-progress checkpoint and returns
whether provisional logging is needed.
|
ExtinctionFilter.ExtinctionStatus |
EnvironmentImpl.getExtinctionState(DatabaseImpl db,
byte[] key)
Returns whether the given key in the given DB is extinct (can be purged
by the cleaner) according to the extinction filter.
|
static ExtinctionFilter.ExtinctionStatus |
EnvironmentImpl.getExtinctionStatus(DatabaseImpl priDb,
DatabaseEntry priKey)
Returns the extinction status for the purpose of adding to an
exception message.
|
int |
DbTree.getHighestLevel(DatabaseImpl dbImpl) |
IN |
SortedLSNTreeWalker.getResidentRootIN(DatabaseImpl dbImpl)
The default behavior returns (and latches shared) the IN if it is
resident in the Btree, or null otherwise.
|
void |
EnvironmentImpl.incDeleteFailOps(DatabaseImpl dbImpl) |
void |
EnvironmentImpl.incDeleteOps(DatabaseImpl dbImpl) |
void |
EnvironmentImpl.incInsertFailOps(DatabaseImpl dbImpl) |
void |
EnvironmentImpl.incInsertOps(DatabaseImpl dbImpl) |
void |
EnvironmentImpl.incPositionOps(DatabaseImpl dbImpl) |
void |
EnvironmentImpl.incSearchFailOps(DatabaseImpl dbImpl) |
void |
EnvironmentImpl.incSearchOps(DatabaseImpl dbImpl) |
void |
EnvironmentImpl.incUpdateOps(DatabaseImpl dbImpl) |
static void |
CursorImpl.lockAfterLsnChange(DatabaseImpl dbImpl,
long oldLsn,
long newLsn,
Locker excludeLocker)
After logging a deferred-write LN during eviction/checkpoint or a
migrated LN during cleaning, for every existing lock on the old LSN held
by another locker, we must lock the new LSN on behalf of that locker.
|
void |
DbTree.modifyDbRoot(DatabaseImpl db)
Write the MapLN to disk.
|
void |
DbTree.modifyDbRoot(DatabaseImpl db,
long ifBeforeLsn,
boolean mustExist)
Write a MapLN to the log in order to:
- propagate a root change
- save per-db utilization information
- save database config information.
|
void |
DbTree.optionalModifyDbRoot(DatabaseImpl db)
Check deferred write settings before writing the MapLN.
|
PreloadStats |
EnvironmentImpl.preload(DatabaseImpl[] dbImpls,
PreloadConfig config) |
void |
DbTree.releaseDb(DatabaseImpl db)
Decrements the use count of the given DB, allowing it to be evicted if
the use count reaches zero.
|
static void |
TriggerManager.runCloseTriggers(Locker locker,
DatabaseImpl dbImpl)
Invokes the trigger methods associated with the closing of a database.
|
static void |
TriggerManager.runDeleteTriggers(Locker locker,
DatabaseImpl dbImpl,
DatabaseEntry key,
DatabaseEntry oldData)
Invokes the trigger methods associated with a delete operation.
|
static void |
TriggerManager.runOpenTriggers(Locker locker,
DatabaseImpl dbImpl,
boolean isNew)
Invokes the trigger methods associated with the opening of a database.
|
static void |
TriggerManager.runPutTriggers(Locker locker,
DatabaseImpl dbImpl,
DatabaseEntry key,
DatabaseEntry oldData,
DatabaseEntry newData)
Invokes the trigger methods associated with a put operation.
|
static void |
TriggerManager.runRemoveTriggers(Locker locker,
DatabaseImpl dbImpl)
Invokes the trigger methods associated with the removal of a database.
|
static void |
TriggerManager.runRenameTriggers(Locker locker,
DatabaseImpl dbImpl,
String newName)
Invokes the trigger methods associated with the renaming of a database.
|
static void |
TriggerManager.runTruncateTriggers(Locker locker,
DatabaseImpl newDb)
Invokes the trigger methods associated with the truncation of a
database.
|
static void |
CursorImpl.traverseDbWithCursor(DatabaseImpl db,
LockType lockType,
boolean allowEviction,
CursorImpl.WithCursor withCursor)
Enumerates all records in a dbImpl non-transactionally and calls
the withCursor method for each record.
|
| Modifier and Type | Method and Description |
|---|---|
DatabaseImpl |
DbTree.getDb(DatabaseId dbId,
long lockTimeout,
Map<DatabaseId,DatabaseImpl> dbCache)
Get a database object based on an id only, caching the id-db mapping in
the given map.
|
void |
DbTree.releaseDbs(Map<DatabaseId,DatabaseImpl> dbCache)
Calls releaseDb for all DBs in the given map of DatabaseId to
DatabaseImpl.
|
| Constructor and Description |
|---|
CursorImpl(DatabaseImpl database,
Locker locker)
Creates a cursor with retainNonTxnLocks=true, isSecondaryCursor=false.
|
CursorImpl(DatabaseImpl dbImpl,
Locker locker,
boolean retainNonTxnLocks,
boolean isSecondaryCursor)
Creates a cursor.
|
DiskOrderedCursorImpl(DatabaseImpl[] dbImpls,
DiskOrderedCursorConfig config) |
SortedLSNTreeWalker(DatabaseImpl[] dbImpls,
long[] rootLsns,
SortedLSNTreeWalker.TreeNodeProcessor callback,
List<DatabaseException> savedExceptions,
com.sleepycat.je.dbi.SortedLSNTreeWalker.ExceptionPredicate excPredicate) |
| Modifier and Type | Method and Description |
|---|---|
BIN |
INCompressor.searchForBIN(DatabaseImpl db,
BINReference binRef)
Search the tree for the BIN that corresponds to this BINReference.
|
| Modifier and Type | Field and Description |
|---|---|
DatabaseImpl |
LogParams.nodeDb
Database of the node(s), or null if entry is not a node.
|
| Modifier and Type | Method and Description |
|---|---|
IN |
CleanerFileReader.getIN(DatabaseImpl dbImpl)
Get the last entry seen by the reader as an IN.
|
IN |
INFileReader.getIN(DatabaseImpl dbImpl)
Get the last IN seen by the reader.
|
| Modifier and Type | Method and Description |
|---|---|
IN |
OldBINDeltaLogEntry.getIN(DatabaseImpl dbImpl) |
IN |
INLogEntry.getIN(DatabaseImpl dbImpl) |
IN |
INContainingEntry.getIN(DatabaseImpl dbImpl)
Currently used by recovery only.
|
Object |
OldBINDeltaLogEntry.getResolvedItem(DatabaseImpl dbImpl)
Resolve a BIN-delta item by fetching the full BIN and merging the delta.
|
Object |
LogEntry.getResolvedItem(DatabaseImpl dbImpl)
Construct a complete item from a item entry, fetching additional log
entries as needed to ensure that a usable main object is available.
|
Object |
ErasedLogEntry.getResolvedItem(DatabaseImpl dbImpl) |
boolean |
LNLogEntry.isImmediatelyObsolete(DatabaseImpl dbImpl) |
boolean |
LogEntry.isImmediatelyObsolete(DatabaseImpl dbImpl)
Returns true if this item should be counted as obsolete when logged.
|
boolean |
ErasedLogEntry.isImmediatelyObsolete(DatabaseImpl dbImpl) |
void |
LNLogEntry.postFetchInit(DatabaseImpl dbImpl) |
| Modifier and Type | Method and Description |
|---|---|
static void |
RecoveryManager.abortUndo(Logger logger,
Level traceLevel,
TreeLocation location,
DatabaseImpl db,
LNLogEntry<?> lnEntry,
long logLsn) |
Provisional |
Checkpointer.coordinateEvictionWithCheckpoint(DatabaseImpl db,
int targetLevel,
IN parent)
Coordinates an eviction with an in-progress checkpoint and returns
whether provisional logging is needed.
|
static void |
RecoveryManager.rollbackUndo(Logger logger,
Level traceLevel,
TreeLocation location,
DatabaseImpl db,
LNLogEntry<?> lnEntry,
long undoLsn,
TxnChain.RevertInfo revertTo) |
void |
Checkpointer.syncDatabase(EnvironmentImpl envImpl,
DatabaseImpl dbImpl,
boolean flushLog)
Flush a given database to disk.
|
| Modifier and Type | Method and Description |
|---|---|
DatabaseImpl |
RepImpl.createGroupDb()
Called when a node has identified itself as the master, which is when
the RepNode.selfElect is called.
|
DatabaseImpl |
RepImpl.getGroupDb()
Open the group db, which should exist already, using NO_CONSISTENCY.
|
DatabaseImpl |
RepImpl.probeGroupDb()
Open the group db, which should exist already, using NO_CONSISTENCY.
|
| Modifier and Type | Method and Description |
|---|---|
DatabaseImpl |
DbCache.get(DatabaseId dbId,
Txn txn)
Returns the DatabaseImpl associated with the dbId, caching the return
value, if it's not already cached.
|
| Modifier and Type | Method and Description |
|---|---|
LockResult |
MasterTxn.lockInternal(long lsn,
LockType lockType,
boolean noWait,
boolean jumpAheadOfWaiters,
DatabaseImpl database)
Prevent this MasterTxn from taking locks if the node becomes a
replica.
|
LockResult |
ReadonlyTxn.lockInternal(long lsn,
LockType lockType,
boolean noWait,
boolean jumpAheadOfWaiters,
DatabaseImpl database)
Provides a wrapper to screen for write locks.
|
LockResult |
ReplicaThreadLocker.lockInternal(long lsn,
LockType lockType,
boolean noWait,
boolean jumpAheadOfWaiters,
DatabaseImpl database)
This overridden method prevents writes on a replica.
|
void |
ReplicaThreadLocker.openCursorHook(DatabaseImpl dbImpl)
Verifies that consistency requirements are met before allowing the
cursor to be opened.
|
void |
MasterTxn.preLogWithoutLock(DatabaseImpl database)
If logging occurs before locking, we must screen out write locks here.
|
void |
ReadonlyTxn.preLogWithoutLock(DatabaseImpl database)
If logging occurs before locking, we must screen out write locks here.
|
void |
ReplicaThreadLocker.preLogWithoutLock(DatabaseImpl database)
If logging occurs before locking, we must screen out write locks here.
|
| Modifier and Type | Method and Description |
|---|---|
DatabaseImpl |
VLSNIndex.getDatabaseImpl()
For unit testing.
|
| Modifier and Type | Method and Description |
|---|---|
DatabaseImpl |
MapLN.getDatabase() |
DatabaseImpl |
Tree.getDatabase() |
DatabaseImpl |
IN.getDatabase()
Get the database for this IN.
|
| Modifier and Type | Method and Description |
|---|---|
static long |
CountEstimator.count(DatabaseImpl dbImpl,
CursorImpl beginCursor,
boolean beginInclusive,
CursorImpl endCursor,
boolean endInclusive)
Returns an estimate of the number of records between two end points
specified by begin/end cursor positions.
|
Node |
ChildReference.fetchTarget(DatabaseImpl database,
IN parent)
Fetch the target object that this ChildReference refers to.
|
protected LogEntryType |
MapLN.getLogType(boolean isInsert,
boolean isTransactional,
DatabaseImpl db)
Return the correct log entry type for a MapLN depends on whether it's
transactional.
|
protected LogEntryType |
NameLN.getLogType(boolean isInsert,
boolean isTransactional,
DatabaseImpl db)
Return the correct log entry type for a NameLN depends on whether it's
transactional.
|
protected LogEntryType |
FileSummaryLN.getLogType(boolean isInsert,
boolean isTransactional,
DatabaseImpl db)
Return the correct log type for a FileSummaryLN.
|
protected LogEntryType |
LN.getLogType(boolean isInsert,
boolean isTransactional,
DatabaseImpl db) |
protected void |
IN.init(DatabaseImpl db,
byte[] identifierKey,
int initialCapacity,
int level)
Initialize IN object.
|
void |
IN.latchNoUpdateLRU(DatabaseImpl db)
Latch this node exclusive and do not update the LRU or cause other
related side effects.
|
LogItem |
LN.log(EnvironmentImpl envImpl,
DatabaseImpl dbImpl,
Locker locker,
WriteLockInfo writeLockInfo,
boolean newEmbeddedLN,
byte[] newKey,
int newExpiration,
boolean newExpirationInHours,
boolean currEmbeddedLN,
long currLsn,
int currSize,
boolean isInsertion,
boolean backgroundIO,
ReplicationContext repContext)
Convenience logging method, used to migrate an LN during cleaning.
|
LogItem |
LN.optionalLog(EnvironmentImpl envImpl,
DatabaseImpl dbImpl,
Locker locker,
WriteLockInfo writeLockInfo,
boolean newEmbeddedLN,
byte[] newKey,
int newExpiration,
boolean newExpirationInHours,
boolean currEmbeddedLN,
long currLsn,
int currSize,
boolean isInsertion,
ReplicationContext repContext)
Convenience logging method.
|
void |
MapLN.postFetchInit(DatabaseImpl db,
long sourceLsn)
Initialize a node that has been faulted in from the log.
|
void |
FileSummaryLN.postFetchInit(DatabaseImpl db,
long sourceLsn)
Initialize a node that has been faulted in from the log.
|
void |
LN.postFetchInit(DatabaseImpl db,
long sourceLsn) |
void |
IN.postFetchInit(DatabaseImpl db,
long fetchedLsn)
Initialize a node that has been read in from the log.
|
void |
Node.postFetchInit(DatabaseImpl db,
long sourceLsn)
Initialize a node that has been faulted in from the log.
|
void |
IN.postRecoveryInit(DatabaseImpl db,
long lastLoggedLsn)
Initialize a node read in during recovery.
|
BIN |
OldBINDelta.reconstituteBIN(DatabaseImpl dbImpl)
Create a BIN by fetching the full version and applying the deltas.
|
BIN |
BIN.reconstituteBIN(DatabaseImpl dbImpl)
Create a BIN by fetching its most recent full version from the log and
applying to it the deltas in this BIN delta.
|
void |
OldBINDelta.reconstituteBIN(DatabaseImpl dbImpl,
BIN fullBIN)
Given a full version BIN, apply the deltas.
|
void |
BIN.reconstituteBIN(DatabaseImpl dbImpl,
BIN fullBIN,
boolean leaveFreeSlot)
Given a full version BIN, apply to it the deltas in this BIN delta.
|
void |
Tree.setDatabase(DatabaseImpl database)
Set the database for this tree.
|
void |
IN.setDatabase(DatabaseImpl db)
Set the database reference for this node.
|
| Constructor and Description |
|---|
BIN(DatabaseImpl db,
byte[] identifierKey,
int capacity,
int level) |
IN(DatabaseImpl dbImpl,
byte[] identifierKey,
int capacity,
int level)
Create a new IN.
|
MapLN(DatabaseImpl db)
Create a new MapLn to hold a new databaseImpl.
|
Tree(DatabaseImpl database)
Create a new tree.
|
| Modifier and Type | Method and Description |
|---|---|
static void |
DupConvert.convertInKeys(DatabaseImpl dbImpl,
IN in)
Changes all keys to "prefix keys" in the given IN.
|
protected LogEntryType |
DupCountLN.getLogType(boolean isInsert,
boolean isTransactional,
DatabaseImpl db)
Return the correct log entry type for a DupCountLN depends on whether
it's transactional.
|
static boolean |
DupConvert.needsConversion(DatabaseImpl dbImpl)
Returns whether the given DB needs conversion.
|
| Modifier and Type | Field and Description |
|---|---|
DatabaseImpl |
UndoReader.db |
| Modifier and Type | Field and Description |
|---|---|
protected Map<DatabaseId,DatabaseImpl> |
Txn.undoDatabases |
| Modifier and Type | Method and Description |
|---|---|
DatabaseImpl |
WriteLockInfo.getDb() |
| Modifier and Type | Method and Description |
|---|---|
Set<DatabaseImpl> |
Txn.getTriggerDbs()
Returns the set of databases for which transaction commit/abort
triggers must be run.
|
Map<DatabaseId,DatabaseImpl> |
Txn.getUndoDatabases() |
| Modifier and Type | Method and Description |
|---|---|
LockGrantType |
LockManager.lock(long lsn,
Locker locker,
LockType type,
long timeout,
boolean nonBlockingRequest,
boolean jumpAheadOfWaiters,
DatabaseImpl database)
Attempt to acquire a lock of 'type' on 'lsn'.
|
LockResult |
Locker.lock(long lsn,
LockType lockType,
boolean noWait,
DatabaseImpl database)
Request a blocking or non-blocking lock of the given type on the given
LSN.
|
void |
Locker.lockAfterLsnChange(long oldLsn,
long newLsn,
DatabaseImpl dbImpl)
Called when an LN is logged by an operation that will not hold the lock
such as eviction/checkpoint deferred-write logging or cleaner LN
migration.
|
void |
ThreadLocker.lockAfterLsnChange(long oldLsn,
long newLsn,
DatabaseImpl dbImpl)
Set the allowMultithreadedAccess mode during execution of this method
because a ThreadLocker is not normally allowed to perform locking from
more than one thread.
|
protected LockResult |
Txn.lockInternal(long lsn,
LockType lockType,
boolean noWait,
boolean jumpAheadOfWaiters,
DatabaseImpl database)
Gets a lock on this LSN and, if it is a write lock, saves an abort
LSN.
|
protected LockResult |
BasicLocker.lockInternal(long lsn,
LockType lockType,
boolean noWait,
boolean jumpAheadOfWaiters,
DatabaseImpl database) |
protected LockResult |
ReadCommittedLocker.lockInternal(long lsn,
LockType lockType,
boolean noWait,
boolean jumpAheadOfWaiters,
DatabaseImpl database)
Forwards write locks to the buddy locker (the transaction locker).
|
LockResult |
Locker.nonBlockingLock(long lsn,
LockType lockType,
boolean jumpAheadOfWaiters,
DatabaseImpl database)
Request a non-blocking lock of the given type on the given LSN.
|
void |
Txn.noteTriggerDb(DatabaseImpl dbImpl)
Accumulates the set of databases for which transaction commit/abort
triggers must be run.
|
void |
Locker.openCursorHook(DatabaseImpl dbImpl)
Overridden to perform actions in a non-transactional cursor when it is
opened, for example, ReplicaThreadLocker performs consistency checks.
|
void |
Txn.preLogWithoutLock(DatabaseImpl database)
Prepare to undo in the (very unlikely) event that logging succeeds but
locking fails.
|
void |
BasicLocker.preLogWithoutLock(DatabaseImpl database) |
abstract void |
Locker.preLogWithoutLock(DatabaseImpl database)
In the case where logging occurs before locking, allow lockers to reject
the operation (e.g., if writing on a replica) and also prepare to undo
in the (very unlikely) event that logging succeeds but locking fails.
|
void |
LockResult.setAbortInfo(long abortLsn,
boolean abortKD,
byte[] abortKey,
byte[] abortData,
long abortVLSN,
int abortExpiration,
boolean abortExpirationInHours,
DatabaseImpl db) |
void |
WriteLockInfo.setDb(DatabaseImpl db) |
| Modifier and Type | Method and Description |
|---|---|
static UndoReader |
UndoReader.create(EnvironmentImpl envImpl,
long undoLsn,
Map<DatabaseId,DatabaseImpl> undoDatabases)
Set up an UndoReader when doing an undo or txn partial rollback for a
live txn.
|
| Constructor and Description |
|---|
CompareSlot(DatabaseImpl dbImpl,
LNLogEntry<?> undoEntry) |
| Constructor and Description |
|---|
TxnChain(long lastLoggedLsn,
long txnId,
long matchpoint,
Map<DatabaseId,DatabaseImpl> undoDatabases,
EnvironmentImpl envImpl) |
Copyright © 2024. All rights reserved.