Berkeley DB Java Edition version 1.7.1

## Uses of Class
com.sleepycat.je.DatabaseException

Packages that use DatabaseException
com.sleepycat.bind.serial: Bindings that use Java serialization.
com.sleepycat.bind.tuple: Bindings that use sequences of primitive fields, or tuples.
com.sleepycat.collections: Data access based on the standard Java collections API.
com.sleepycat.je: Foundation for creating environments, databases and transactions; provides cursor based data access.
com.sleepycat.je.util: Supporting utilities.

Uses of DatabaseException in com.sleepycat.bind.serial

Methods in com.sleepycat.bind.serial that throw DatabaseException
`boolean` `TupleSerialKeyCreator.createSecondaryKey(SecondaryDatabase db, DatabaseEntry primaryKeyEntry, DatabaseEntry dataEntry, DatabaseEntry indexKeyEntry)`
`boolean` `TupleSerialKeyCreator.nullifyForeignKey(SecondaryDatabase db, DatabaseEntry dataEntry)`
`void` `StoredClassCatalog.close()`
`byte[]` `StoredClassCatalog.getClassID(ObjectStreamClass classFormat)`
`ObjectStreamClass` `StoredClassCatalog.getClassFormat(byte[] classID)`
`boolean` `SerialSerialKeyCreator.createSecondaryKey(SecondaryDatabase db, DatabaseEntry primaryKeyEntry, DatabaseEntry dataEntry, DatabaseEntry indexKeyEntry)`
`boolean` `SerialSerialKeyCreator.nullifyForeignKey(SecondaryDatabase db, DatabaseEntry dataEntry)`
`void` `ClassCatalog.close()` Close a catalog database and release any cached resources.
`byte[]` `ClassCatalog.getClassID(ObjectStreamClass classDesc)` Return the class ID for the current version of the given class description.
`ObjectStreamClass` `ClassCatalog.getClassFormat(byte[] classID)` Return the ObjectStreamClass for the given class ID.

Constructors in com.sleepycat.bind.serial that throw DatabaseException
`StoredClassCatalog(Database database)` Creates a catalog based on a given database.

Uses of DatabaseException in com.sleepycat.bind.tuple

Methods in com.sleepycat.bind.tuple that throw DatabaseException
`boolean` `TupleTupleKeyCreator.createSecondaryKey(SecondaryDatabase db, DatabaseEntry primaryKeyEntry, DatabaseEntry dataEntry, DatabaseEntry indexKeyEntry)`
`boolean` `TupleTupleKeyCreator.nullifyForeignKey(SecondaryDatabase db, DatabaseEntry dataEntry)`

Uses of DatabaseException in com.sleepycat.collections

Methods in com.sleepycat.collections that throw DatabaseException
`void` `TransactionRunner.run(TransactionWorker worker)` Calls the `TransactionWorker.doWork()` method and, for transactional environments, may begin and end a transaction.
`void` `PrimaryKeyAssigner.assignKey(DatabaseEntry keyData)` Assigns a new primary key value into the given data buffer.
`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.abortTransaction()` Aborts the transaction that is active for the current thread for this environment and makes the parent transaction (if any) the current transaction.

Uses of DatabaseException in com.sleepycat.je

Subclasses of DatabaseException in com.sleepycat.je
`class` `DatabaseNotFoundException` Thrown when an operation requires a database and that database does not exist.
`class` `DeadlockException` DeadlockException is thrown to a thread of control when multiple threads competing for a lock are deadlocked or when a lock request would need to block and the transaction has been configured to not wait for locks.
`class` `LockNotGrantedException` A LockNotGrantedException is thrown when a non-blocking operation fails to get a lock.
`class` `RunRecoveryException` Thrown when the database environment needs to be recovered.

Methods in com.sleepycat.je that throw DatabaseException
`long` `Transaction.getId()` Return the transaction's unique ID.
`void` `Transaction.abort()` Cause an abnormal termination of the transaction.
`void` `Transaction.commit()` End the transaction.
`void` `Transaction.commitSync()` End the transaction, committing synchronously.
`void` `Transaction.commitNoSync()` End the transaction, not committing synchronously.
`void` `Transaction.commitWriteNoSync()` End the transaction, writing but not flushing the log.
`void` `Transaction.setTxnTimeout(long timeOut)` Configure the timeout value for the transaction lifetime.
`void` `Transaction.setLockTimeout(long timeOut)` Configure the lock request timeout value for the transaction.
`boolean` `SecondaryKeyCreator.createSecondaryKey(SecondaryDatabase secondary, DatabaseEntry key, DatabaseEntry data, DatabaseEntry result)` Creates a secondary key entry, given a primary key and data entry.
`SecondaryConfig` `SecondaryDatabase.getSecondaryConfig()` Returns a copy of the secondary configuration of this database.
`OperationStatus` `SecondaryDatabase.get(Transaction txn, DatabaseEntry key, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` Retrieves the key/data pair with the given 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.
`Database` `SecondaryDatabase.getPrimaryDatabase()` Returns the primary database associated with this secondary database.
`SecondaryCursor` `SecondaryDatabase.openSecondaryCursor(Transaction txn, CursorConfig cursorConfig)` Obtain a cursor on a database, returning a `SecondaryCursor`.
`void` `SecondaryDatabase.close()` Closes a secondary database and dis-associates it from its primary database.
`OperationStatus` `SecondaryDatabase.delete(Transaction txn, DatabaseEntry key)` Deletes the key/data pair from the associated primary database and all secondary indices.
`OperationStatus` `SecondaryDatabase.get(Transaction txn, DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` Retrieves the key/data pair with the given key.
`OperationStatus` `SecondaryDatabase.getSearchBoth(Transaction txn, DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` This operation is not allowed with this method signature.
`OperationStatus` `SecondaryDatabase.put(Transaction txn, DatabaseEntry key, DatabaseEntry data)` This operation is not allowed on a secondary database.
`OperationStatus` `SecondaryDatabase.putNoOverwrite(Transaction txn, DatabaseEntry key, DatabaseEntry data)` This operation is not allowed on a secondary database.
`OperationStatus` `SecondaryDatabase.putNoDupData(Transaction txn, DatabaseEntry key, DatabaseEntry data)` This operation is not allowed on a secondary database.
`JoinCursor` `SecondaryDatabase.join(Cursor[] cursors, JoinConfig config)` This operation is not allowed on a secondary database.
`int` `SecondaryDatabase.truncate(Transaction txn, boolean countRecords)` This operation is not allowed on a secondary database.
`Cursor` `SecondaryCursor.dup(boolean samePosition)` Returns a new `SecondaryCursor` for the same transaction as the original cursor.
`SecondaryCursor` `SecondaryCursor.dupSecondary(boolean samePosition)` Returns a new copy of the cursor as a `SecondaryCursor`.
`OperationStatus` `SecondaryCursor.getCurrent(DatabaseEntry key, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` Returns the key/data pair to which the cursor refers.
`OperationStatus` `SecondaryCursor.getFirst(DatabaseEntry key, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` Move the cursor to the first key/data pair of the database, and return that pair.
`OperationStatus` `SecondaryCursor.getLast(DatabaseEntry key, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` Move the cursor to the last key/data pair of the database, and return that pair.
`OperationStatus` `SecondaryCursor.getNext(DatabaseEntry key, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` Move the cursor to the next key/data pair and return that pair.
`OperationStatus` `SecondaryCursor.getNextDup(DatabaseEntry key, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` If the next key/data pair of the database is a duplicate data record for the current key/data pair, move the cursor to the next key/data pair of the database and return that pair.
`OperationStatus` `SecondaryCursor.getNextNoDup(DatabaseEntry key, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` Move the cursor to the next non-duplicate key/data pair and return that pair.
`OperationStatus` `SecondaryCursor.getPrev(DatabaseEntry key, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` Move the cursor to the previous key/data pair and return that pair.
`OperationStatus` `SecondaryCursor.getPrevDup(DatabaseEntry key, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` If the previous key/data pair of the database is a duplicate data record for the current key/data pair, move the cursor to the previous key/data pair of the database and return that pair.
`OperationStatus` `SecondaryCursor.getPrevNoDup(DatabaseEntry key, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` Move the cursor to the previous non-duplicate key/data pair and return that pair.
`OperationStatus` `SecondaryCursor.getSearchKey(DatabaseEntry key, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` Move the cursor to the given key of the database, and return the datum associated with the given key.
`OperationStatus` `SecondaryCursor.getSearchKeyRange(DatabaseEntry key, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` Move the cursor to the closest matching key of the database, and return the data item associated with the matching key.
`OperationStatus` `SecondaryCursor.getSearchBoth(DatabaseEntry key, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` Move the cursor to the specified secondary and primary key, where both the primary and secondary key items must match.
`OperationStatus` `SecondaryCursor.getSearchBothRange(DatabaseEntry key, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` Move the cursor to the specified secondary key and closest matching primary key of the database.
`OperationStatus` `SecondaryCursor.delete()` Delete the key/data pair to which the cursor refers from the primary database and all secondary indices.
`OperationStatus` `SecondaryCursor.put(DatabaseEntry key, DatabaseEntry data)` This operation is not allowed on a secondary database.
`OperationStatus` `SecondaryCursor.putNoOverwrite(DatabaseEntry key, DatabaseEntry data)` This operation is not allowed on a secondary database.
`OperationStatus` `SecondaryCursor.putNoDupData(DatabaseEntry key, DatabaseEntry data)` This operation is not allowed on a secondary database.
`OperationStatus` `SecondaryCursor.putCurrent(DatabaseEntry data)` This operation is not allowed on a secondary database.
`OperationStatus` `SecondaryCursor.getCurrent(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` Returns the key/data pair to which the cursor refers.
`OperationStatus` `SecondaryCursor.getFirst(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` Move the cursor to the first key/data pair of the database, and return that pair.
`OperationStatus` `SecondaryCursor.getLast(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` Move the cursor to the last key/data pair of the database, and return that pair.
`OperationStatus` `SecondaryCursor.getNext(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` Move the cursor to the next key/data pair and return that pair.
`OperationStatus` `SecondaryCursor.getNextDup(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` If the next key/data pair of the database is a duplicate data record for the current key/data pair, move the cursor to the next key/data pair of the database and return that pair.
`OperationStatus` `SecondaryCursor.getNextNoDup(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` Move the cursor to the next non-duplicate key/data pair and return that pair.
`OperationStatus` `SecondaryCursor.getPrev(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` Move the cursor to the previous key/data pair and return that pair.
`OperationStatus` `SecondaryCursor.getPrevDup(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` If the previous key/data pair of the database is a duplicate data record for the current key/data pair, move the cursor to the previous key/data pair of the database and return that pair.
`OperationStatus` `SecondaryCursor.getPrevNoDup(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` Move the cursor to the previous non-duplicate key/data pair and return that pair.
`OperationStatus` `SecondaryCursor.getSearchKey(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` Move the cursor to the given key of the database, and return the datum associated with the given key.
`OperationStatus` `SecondaryCursor.getSearchKeyRange(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` Move the cursor to the closest matching key of the database, and return the data item associated with the matching key.
`OperationStatus` `SecondaryCursor.getSearchBoth(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` This operation is not allowed with this method signature.
`OperationStatus` `SecondaryCursor.getSearchBothRange(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` This operation is not allowed with this method signature.
`void` `JoinCursor.close()` Closes the cursors that have been opened by this join cursor.
`OperationStatus` `JoinCursor.getNext(DatabaseEntry key, LockMode lockMode)` Returns the next primary key resulting from the join operation.
`OperationStatus` `JoinCursor.getNext(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` Returns the next primary key and data resulting from the join operation.
`boolean` `ForeignKeyNullifier.nullifyForeignKey(SecondaryDatabase secondary, DatabaseEntry data)` Sets the foreign key reference to null in the datum of the primary database.
`File` `Environment.getHome()` Return the database environment's home directory.
`EnvironmentConfig` `Environment.getConfig()` Return this object's configuration.
`Transaction` `Environment.beginTransaction(Transaction parent, TransactionConfig txnConfig)` Create a new transaction in the database environment.
`void` `Environment.checkpoint(CheckpointConfig checkpointConfig)` Synchronously checkpoint the database environment.
`LockStats` `Environment.getLockStats(StatsConfig config)` Return the database environment's locking statistics.
`TransactionStats` `Environment.getTransactionStats(StatsConfig config)` Return the database environment's transactional statistics.
`void` `Environment.close()` The Environment.close method closes the Berkeley DB environment.
`Database` `Environment.openDatabase(Transaction txn, String databaseName, DatabaseConfig dbConfig)` Open, and optionally create, a `Database`.
`SecondaryDatabase` `Environment.openSecondaryDatabase(Transaction txn, String databaseName, Database primaryDatabase, SecondaryConfig secConfig)` Open and optionally create a `SecondaryDatabase`.
`void` `Environment.removeDatabase(Transaction txn, String databaseName)` Remove a database.
`void` `Environment.renameDatabase(Transaction txn, String databaseName, String newName)` Rename a database.
`long` `Environment.truncateDatabase(Transaction txn, String databaseName, boolean returnCount)` Empty the database, discarding all records it contains.
`void` `Environment.sync()` Synchronously flush database environment databases to stable storage.
`int` `Environment.cleanLog()` Synchronously invoke database environment log cleaning.
`void` `Environment.evictMemory()` Synchronously invoke the mechanism for keeping memory usage within the cache size boundaries.
`void` `Environment.compress()` Synchronously invoke the compressor mechanism which compacts in memory data structures after delete operations.
`void` `Environment.setMutableConfig(EnvironmentMutableConfig envMutableConfig)` Set database environment attributes.
`EnvironmentMutableConfig` `Environment.getMutableConfig()` Return database environment attributes.
`EnvironmentStats` `Environment.getStats(StatsConfig config)` Return the general database environment statistics.
`List` `Environment.getDatabaseNames()` Return a List of database names for the database environment.
`boolean` `Environment.verify(VerifyConfig verifyConfig, PrintStream out)` Return if the database environment is consistent and correct.
`OperationStatus` `Database.delete(Transaction txn, DatabaseEntry key)` Remove key/data pairs from the database.
`OperationStatus` `Database.get(Transaction txn, DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` Retrieves the key/data pair with the given key.
`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` `Database.put(Transaction txn, DatabaseEntry key, DatabaseEntry data)` Store the key/data pair into 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.
`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.
`String` `Database.getDatabaseName()` Return the database name.
`DatabaseConfig` `Database.getConfig()` Return this Database object's configuration.
`Environment` `Database.getEnvironment()` Return the `Environment` handle for the database environment underlying the `Database`.
`void` `Database.close()` Flush any cached database information to disk and discard the database handle.
`Cursor` `Database.openCursor(Transaction txn, CursorConfig cursorConfig)` Return a cursor into the database.
`DatabaseStats` `Database.getStats(StatsConfig statsConfig)` Return database statistics.

`int`

`Database.truncate(Transaction txn, boolean returnCount)`
Deprecated. As of JE 1.7, replaced by `Environment.truncateDatabase(Transaction, String, boolean)`.

The Database class is thread safe and may be used concurrently by multiple threads, using multiple transactions. It was not possible to supply correct transactional semantics for this method in all cases without imposing a performance penalty on all operations. Specifically, a truncate operation executed within one transaction can be incorrectly seen before commit by other transactions if those later transactions use the same Database handle.

The replacement method, Environment.truncateDatabase(), avoids these issues because all Database handles must be closed before the truncateDatabase() method is called.

`JoinCursor` `Database.join(Cursor[] cursors, JoinConfig config)` Creates a specialized join cursor for use in performing equality or natural joins on secondary indices.
`void` `Database.preload(long maxBytes)` Preload the cache.
`DatabaseStats` `Database.verify(VerifyConfig config)` Verify the integrity of the database.
`List` `Database.getSecondaryDatabases()` Return a list of all `SecondaryDatabase` objects associated with a primary database.
`void` `Cursor.close()` Discard the cursor.
`int` `Cursor.count()` Return a count of the number of data items for the key to which the cursor refers.
`Cursor` `Cursor.dup(boolean samePosition)` Return a new cursor with the same transaction and locker ID as the original cursor.
`OperationStatus` `Cursor.delete()` Delete the key/data pair to which the cursor refers.
`OperationStatus` `Cursor.put(DatabaseEntry key, DatabaseEntry data)` Store a key/data pair into the database.
`OperationStatus` `Cursor.putNoOverwrite(DatabaseEntry key, DatabaseEntry data)` Store a key/data pair into the database.
`OperationStatus` `Cursor.putNoDupData(DatabaseEntry key, DatabaseEntry data)` Store a key/data pair into the database.
`OperationStatus` `Cursor.putCurrent(DatabaseEntry data)` Store a key/data pair into the database.
`OperationStatus` `Cursor.getCurrent(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` Returns the key/data pair to which the cursor refers.
`OperationStatus` `Cursor.getFirst(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` Move the cursor to the first key/data pair of the database, and return that pair.
`OperationStatus` `Cursor.getLast(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` Move the cursor to the last key/data pair of the database, and return that pair.
`OperationStatus` `Cursor.getNext(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` Move the cursor to the next key/data pair and return that pair.
`OperationStatus` `Cursor.getNextDup(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` If the next key/data pair of the database is a duplicate data record for the current key/data pair, move the cursor to the next key/data pair of the database and return that pair.
`OperationStatus` `Cursor.getNextNoDup(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` Move the cursor to the next non-duplicate key/data pair and return that pair.
`OperationStatus` `Cursor.getPrev(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` Move the cursor to the previous key/data pair and return that pair.
`OperationStatus` `Cursor.getPrevDup(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` If the previous key/data pair of the database is a duplicate data record for the current key/data pair, move the cursor to the previous key/data pair of the database and return that pair.
`OperationStatus` `Cursor.getPrevNoDup(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` Move the cursor to the previous non-duplicate key/data pair and return that pair.
`OperationStatus` `Cursor.getSearchKey(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` Move the cursor to the given key of the database, and return the datum associated with the given key.
`OperationStatus` `Cursor.getSearchKeyRange(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` Move the cursor to the closest matching key of the database, and return the data item associated with the matching key.
`OperationStatus` `Cursor.getSearchBoth(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` Move the cursor to the specified key/data pair, where both the key and data items must match.
`OperationStatus` `Cursor.getSearchBothRange(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` Move the cursor to the specified key and closest matching data item of the database.

Constructors in com.sleepycat.je that throw DatabaseException
`Environment(File envHome, EnvironmentConfig envConfig)` Create a database environment handle.

Uses of DatabaseException in com.sleepycat.je.util

Methods in com.sleepycat.je.util that throw DatabaseException
`static void` `DbVerify.main(String[] argv)` The main used by the DbVerify utility.
`boolean` `DbVerify.verify(PrintStream out)` Verify a database and write errors found to a stream.
`static void` `DbLoad.main(String[] argv)` The main used by the DbLoad utility.
`boolean` `DbLoad.load()`
`static void` `DbDump.main(String[] argv)` The main used by the DbDump utility.
`void` `DbDump.dump()` Perform the dump.

Berkeley DB Java Edition version 1.7.1

Copyright (c) 1996-2005 Sleepycat Software, Inc. - All rights reserved.