## Uses of Class
com.sleepycat.db.Transaction

Packages that use Transaction
com.sleepycat.collections: Data access based on the standard Java collections API.
com.sleepycat.db: Berkeley DB Java API [reference guide] [Java programming notes].
com.sleepycat.persist: The Direct Persistence Layer (DPL) adds a persistent object model to the Berkeley DB transactional engine.

### Uses of Transaction in com.sleepycat.collections

Methods in com.sleepycat.collections that return Transaction
`Transaction` CurrentTransaction.`abortTransaction()` Aborts the transaction that is active for the current thread for this environment and makes the parent transaction (if any) the current transaction.
`Transaction` CurrentTransaction.`beginTransaction(TransactionConfig config)` Begins a new transaction for this environment and associates it with the current thread.
`Transaction` CurrentTransaction.`commitTransaction()` Commits the transaction that is active for the current thread for this environment and makes the parent transaction (if any) the current transaction.
`Transaction` CurrentTransaction.`getTransaction()` Returns the transaction associated with the current thread for this environment, or null if no transaction is active.

### Uses of Transaction in com.sleepycat.db

Methods in com.sleepycat.db that return Transaction
`Transaction` Environment.`beginCDSGroup()` Allocate a locker ID in an environment configured for Berkeley DB Concurrent Data Store applications.
`Transaction` Environment.`beginTransaction(Transaction parent, TransactionConfig config)` Create a new transaction in the database environment.
`Transaction` PreparedTransaction.`getTransaction()` Return the transaction handle for the transaction.

Methods in com.sleepycat.db with parameters of type Transaction
`OperationStatus` Database.`append(Transaction txn, DatabaseEntry key, DatabaseEntry data)` Append the key/data pair to the end of the database.
`Transaction` Environment.`beginTransaction(Transaction parent, TransactionConfig config)` Create a new transaction in the database environment.
`CompactStats` Database.`compact(Transaction txn, DatabaseEntry start, DatabaseEntry stop, DatabaseEntry end, CompactConfig config)` Compact a Btree or Recno database or returns unused Btree, Hash or Recno database pages to the underlying filesystem.
`OperationStatus` Database.`consume(Transaction txn, DatabaseEntry key, DatabaseEntry data, boolean wait)` Return the record number and data from the available record closest to the head of the queue, and delete the record.
`OperationStatus` Database.`delete(Transaction txn, DatabaseEntry key)` Remove key/data pairs from the database.
`OperationStatus` Database.`deleteMultiple(Transaction txn, MultipleEntry keys)` Remove key/data pairs from the database.
`OperationStatus` Database.`deleteMultipleKey(Transaction txn, MultipleEntry keys)` Remove key/data pairs from the database.
`OperationStatus` Database.`exists(Transaction txn, DatabaseEntry key)` Checks if the specified key appears in the database.
`OperationStatus` SecondaryDatabase.`get(Transaction txn, DatabaseEntry key, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` Retrieves the key/data pair with the given key.
`OperationStatus` Database.`get(Transaction txn, DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` Retrieves the key/data pair with the given key from the database.
`long` Sequence.`get(Transaction txn, int delta)` Return the next available element in the sequence and changes the sequence value by `delta`.
`KeyRange` Database.`getKeyRange(Transaction txn, DatabaseEntry key)` Return an estimate of the proportion of keys in the database less than, equal to, and greater than the specified key.
`OperationStatus` SecondaryDatabase.`getSearchBoth(Transaction txn, DatabaseEntry key, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` Retrieves the key/data pair with the specified secondary and primary key, that is, both the primary and secondary key items must match.
`OperationStatus` Database.`getSearchBoth(Transaction txn, DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` Retrieves the key/data pair with the given key and data value, that is, both the key and data items must match.
`OperationStatus` SecondaryDatabase.`getSearchRecordNumber(Transaction txn, DatabaseEntry key, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` Retrieves the key/data pair associated with the specific numbered record of the database.
`OperationStatus` Database.`getSearchRecordNumber(Transaction txn, DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` Retrieves the key/data pair associated with the specific numbered record of the database.
`DatabaseStats` Database.`getStats(Transaction txn, StatsConfig config)` Return database statistics.
`void` Environment.`logPrint(Transaction txn, java.lang.String message)` Append an informational message to the Berkeley DB database environment log files.
`Cursor` Database.`openCursor(Transaction txn, CursorConfig config)` Return a cursor into the database.
`Cursor` SecondaryDatabase.`openCursor(Transaction txn, CursorConfig config)` Return a cursor into the database.
`Database` Environment.`openDatabase(Transaction txn, java.lang.String fileName, java.lang.String databaseName, DatabaseConfig config)` Open a database.
`SecondaryCursor` SecondaryDatabase.`openSecondaryCursor(Transaction txn, CursorConfig config)` Obtain a cursor on a database, returning a `SecondaryCursor`.
`SecondaryDatabase` Environment.`openSecondaryDatabase(Transaction txn, java.lang.String fileName, java.lang.String databaseName, Database primaryDatabase, SecondaryConfig config)` Open a database.
`Sequence` Database.`openSequence(Transaction txn, DatabaseEntry key, SequenceConfig config)` Open a sequence represented by the key in the database.
`OperationStatus` Database.`put(Transaction txn, DatabaseEntry key, DatabaseEntry data)` Store the key/data pair into the database.
`OperationStatus` Database.`putMultiple(Transaction txn, MultipleEntry key, MultipleEntry data, boolean overwrite)` Store a set of key/data pairs into the database.
`OperationStatus` Database.`putMultipleKey(Transaction txn, MultipleEntry key, boolean overwrite)` Store a set of key/data pairs into the database.
`OperationStatus` Database.`putNoDupData(Transaction txn, DatabaseEntry key, DatabaseEntry data)` Store the key/data pair into the database if it does not already appear in the database.
`OperationStatus` Database.`putNoOverwrite(Transaction txn, DatabaseEntry key, DatabaseEntry data)` Store the key/data pair into the database if the key does not already appear in the database.
`void` Environment.`removeDatabase(Transaction txn, java.lang.String fileName, java.lang.String databaseName)` Remove the database specified by the fileName and databaseName parameters.
`void` Database.`removeSequence(Transaction txn, DatabaseEntry key, SequenceConfig config)` Remove the sequence from the database.
`void` Environment.`renameDatabase(Transaction txn, java.lang.String fileName, java.lang.String databaseName, java.lang.String newName)` Rename a database.
`int` Database.`truncate(Transaction txn, boolean countRecords)` Empty the database, discarding all records it contains.

### Uses of Transaction in com.sleepycat.persist

Methods in com.sleepycat.persist with parameters of type Transaction
`boolean` EntityIndex.`contains(Transaction txn, K key, LockMode lockMode)` Checks for existence of a key in this index.
`boolean` EntityIndex.`delete(Transaction txn, K key)` Deletes all entities with a given index key.
`EntityCursor<V>` EntityIndex.`entities(Transaction txn, CursorConfig config)` Opens a cursor for traversing all entities in this index.
`ForwardCursor<E>` EntityJoin.`entities(Transaction txn, CursorConfig config)` Opens a cursor that returns the entities qualifying for the join.
`EntityCursor<V>` EntityIndex.`entities(Transaction txn, K fromKey, boolean fromInclusive, K toKey, boolean toInclusive, CursorConfig config)` Opens a cursor for traversing entities in a key range.
`V` EntityIndex.`get(Transaction txn, K key, LockMode lockMode)` Gets an entity via a key of this index.
`E` PrimaryIndex.`get(Transaction txn, PK key, LockMode lockMode)`
`E` SecondaryIndex.`get(Transaction txn, SK key, LockMode lockMode)`
`EntityCursor<K>` EntityIndex.`keys(Transaction txn, CursorConfig config)` Opens a cursor for traversing all keys in this index.
`ForwardCursor<PK>` EntityJoin.`keys(Transaction txn, CursorConfig config)` Opens a cursor that returns the primary keys of entities qualifying for the join.
`EntityCursor<K>` EntityIndex.`keys(Transaction txn, K fromKey, boolean fromInclusive, K toKey, boolean toInclusive, CursorConfig config)` Opens a cursor for traversing keys in a key range.
`E` PrimaryIndex.`put(Transaction txn, E entity)` Inserts an entity and returns null, or updates it if the primary key already exists and returns the existing entity.
`boolean` PrimaryIndex.`putNoOverwrite(Transaction txn, E entity)` Inserts an entity and returns true, or returns false if the primary key already exists.
`void` PrimaryIndex.`putNoReturn(Transaction txn, E entity)` Inserts an entity, or updates it if the primary key already exists (does not return the existing entity).
`void` EntityStore.`truncateClass(Transaction txn, java.lang.Class entityClass)` Deletes all instances of this entity class and its (non-entity) subclasses.