# Package com.sleepycat.db

Berkeley DB Java API
[reference guide] [Java programming notes].

This package is a wrapper around the Berkeley DB library. It uses JNI to provide access to Berkeley DB, which is implemented in C. That means that a shared library or DLL must be available when applications use this package.

There are also several utilities provided with Berkeley DB that make administrative tasks possible from the command line. For more information, see the page Berkeley DB Supporting Utilities.

- Interface Summary
  Interface | Description
  --- | ---
  BackupHandler | An interface that can optionally be used to override the default behavior performed by the `Environment.backup` and `Environment.backupDatabase` methods.
  BtreeCompressor | An interface specifying how Btree compression works.
  BtreePrefixCalculator | An interface specifying how Btree prefixes should be calculated.
  ErrorHandler | An interface specifying a callback function to be called when an error occurs in the Berkeley DB library.
  EventHandler | An interface classs with prototype definitions of all event functions that can be called via the Berkeley DB event callback mechanism.
  FeedbackHandler | An interface specifying a function to be called to provide feedback.
  ForeignKeyNullifier | The interface implemented for setting single-valued foreign keys to null.
  ForeignMultiKeyNullifier | The interface implemented for setting multi-valued foreign keys to null.
  Hasher | An application-specified, database hash function.
  LogRecordHandler | A function to process application-specific log records.
  MessageHandler | An interface specifying a callback function to be called to display informational messages.
  PanicHandler | An interface specifying a function to be called if the database environment panics.
  PartitionHandler | An interface specifying how to set up database partitioning.
  RecordNumberAppender | An interface specifying a callback function that modifies stored data based on a generated key.
  ReplicationManagerMessageDispatch |
  ReplicationTransport | An interface specifying a replication transmit function, which sends information to other members of the replication group.
  ReplicationViewHandler | An interface specifying a callback function to be used by replication views.
  SecondaryKeyCreator | The interface implemented for extracting single-valued secondary keys from primary records.
  SecondaryMultiKeyCreator | The interface implemented for extracting multi-valued secondary keys from primary records.
  Slice | An interface specifying in which slice database records are read or written based on the given key.

- Class Summary
  Class | Description
  --- | ---
  BackupOptions | Options for `Environment.backup(java.lang.String, com.sleepycat.db.BackupOptions)` operations.
  BtreeStats | The BtreeStats object is used to return Btree or Recno database statistics.
  CacheFile | This class allows applications to modify settings for a `Database` using the `Database.getCacheFile`.
  CacheFilePriority | Priorities that can be assigned to files in the cache.
  CacheFileStats | Statistics for a file in the cache.
  CacheStats | Cache statistics for a database environment.
  CheckpointConfig | Specifies the attributes of an application invoked checkpoint operation.
  CompactConfig | Configuration for `Database.compact(com.sleepycat.db.Transaction, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.CompactConfig)` operations.
  CompactStats | Statistics returned by a `Database.compact(com.sleepycat.db.Transaction, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.CompactConfig)` operation.
  Cursor | A database cursor.
  CursorConfig | Specify the attributes of database cursor.
  Database | Creates a database handle for a single Berkeley DB database.
  DatabaseConfig | Specify the attributes of a database.
  DatabaseEntry | Encodes database key and data items as a byte array.
  DatabaseStats | Statistics for a single database.
  DatabaseStream | A database stream.
  DatabaseStreamConfig | Specify the attributes of database stream.
  DatabaseType | Database types.
  Environment | A database environment.
  EnvironmentConfig | Specifies the attributes of an environment.
  EventHandlerAdapter | An abstract class that implements `EventHandler`, used to specify a callback function to be called when an event is sent from the Berkeley DB library.
  ForeignKeyDeleteAction | The action taken when a referenced record in the foreign key database is deleted.
  HashStats | The HashStats object is used to return Hash database statistics.
  HeapRecordId | Content used for the key in a Heap database record.
  HeapStats | The HeapStats object is used to return Heap database statistics.
  JoinConfig | The configuration properties of a `JoinCursor`.
  JoinCursor | A specialized join cursor for use in performing equality or natural joins on secondary indices.
  KeyRange | An object that returns status from the `Database.getKeyRange` method.
  Lock | The locking interfaces for the database environment are methods of the `Environment` handle.
  LockDetectMode | Deadlock detection modes.
  LockMode | Locking modes for database operations.
  LockOperation | Operations that can be performed on locks.
  LockRequest | The LockRequest object is used to encapsulate a single lock request.
  LockRequestMode | When using the default lock conflict matrix, the LockRequestMode class defines the set of possible lock modes.
  LockStats | Lock statistics for a database environment.
  LogCursor | The LogCursor object is the handle for a cursor into the log files, supporting sequential access to the records stored in log files.
  LogSequenceNumber | The LogSequenceNumber object is a log sequence number which specifies a unique location in a log file.
  LogStats | Log statistics for a database environment.
  LogVerifyConfig | Specify the attributes of a database.
  MultipleDataEntry | A DatabaseEntry that holds multiple data items returned by a single `Database` or `Cursor` get call.
  MultipleEntry | An abstract class representing a DatabaseEntry that holds multiple results returned by a single `Cursor` get method.
  MultipleKeyDataEntry | A DatabaseEntry that holds multiple key/data pairs returned by a single `Database` or `Cursor` get call.
  MultipleKeyNIODataEntry | A DatabaseEntry that holds multiple key/data pairs returned by a single `Database` or `Cursor` get call.
  MultipleNIODataEntry | A DatabaseEntry that holds multiple data items returned by a single `Database` or `Cursor` get call.
  MultipleRecnoDataEntry | A DatabaseEntry that holds multiple record number/data pairs returned by a single `Database` or `Cursor` get call.
  MultipleRecnoNIODataEntry | A DatabaseEntry that holds multiple record number/data pairs returned by a single `Database` or `Cursor` get call.
  MutexStats | Statistics about mutexes in a Berkeley DB database environment, returned by `Environment.getMutexStats(com.sleepycat.db.StatsConfig)`
  OperationStatus | Status values from database operations.
  PreparedTransaction | The PreparedTransaction object is used to encapsulate a single prepared, but not yet resolved, transaction.
  QueueStats | The QueueStats object is used to return Queue database statistics.
  RecoveryOperation | The recovery operation being performed when `LogRecordHandler.handleLogRecord` is called.
  RegionResourceType | Advanced configuration is possible for various systems that use shared memory (regions) for cross process sharing.
  ReplicationChannel | A ReplicationChannel handle is used to manage a channel in a replication group.
  ReplicationConfig | Settings that configure Berkeley DB replication.
  ReplicationHostAddress | A simple wrapper class to hold information needed to define a host in a replication group.
  ReplicationManagerAckPolicy | A class that provides definitions for the types of network ack policy to use when transmitting messages between replication sites using the Replication Manager.
  ReplicationManagerConnectionStatus | Describes the connection status of a replication site.
  ReplicationManagerSite | A ReplicationManagerSite handle is used to manage a site in a replication group.
  ReplicationManagerSiteConfig | Specifies the attributes of a site in the replication group.
  ReplicationManagerSiteInfo | A simple wrapper class to hold information needed to define a replication site.
  ReplicationManagerStartPolicy | This class provides definitions of the various start policies thatcan be specified when starting a replication client using the`Environment.replicationManagerStart` call.
  ReplicationManagerStats | Replication Manager statistics for a database environment.
  ReplicationStats | Replication statistics for a database environment.
  ReplicationStatus | The return status from processing a replication message.
  ReplicationTimeoutType | The ReplicationTimeoutType defines the types of timeouts that can beconfigured for the Berkeley Db replication functionality.
  SecondaryConfig | The configuration properties of a `SecondaryDatabase` extend those of a primary `Database`.
  SecondaryCursor | A database cursor for a secondary database.
  SecondaryDatabase | A secondary database handle.
  Sequence | A Sequence handle is used to manipulate a sequence record in a database.
  SequenceConfig | Specify the attributes of a sequence.
  SequenceStats | A SequenceStats object is used to return sequence statistics.
  StatsConfig | Specifies the attributes of a statistics retrieval operation.
  Transaction | The Transaction object is the handle for a transaction.
  TransactionConfig | Specifies the attributes of a database environment transaction.
  TransactionStats | Transaction statistics for a database environment.
  TransactionStats.Active |
  TransactionStatus | Status values from transaction application checking operations.
  VerboseConfig | Specifies the attributes of a verification operation.
  VerifyConfig | Specifies the attributes of a verification operation.

- Exception Summary
  Exception | Description
  --- | ---
  DatabaseException | The root of all database exceptions.
  DeadlockException | DeadlockException is thrown to a thread of control when multiple threads competing for a lock are deadlocked, when a lock request has timed out or when a lock request would need to block and the transaction has been configured to not wait for locks.
  HeapFullException | A HeapFullException is thrown when an attempt was made to add or update a record in a Heap database.
  LockNotGrantedException | A LockNotGrantedException is thrown when a lock requested using the `Environment.getLock` or `Environment.lockVector` methods, where the noWait flag or lock timers were configured, could not be granted before the wait-time expired.
  MemoryException | This exception is thrown when a `DatabaseEntry` passed to a `Database` or `Cursor` method is not large enough to hold a value being returned.
  MetaCheckSumFailException | A MetaCheckSumFailException is thrown when a checksum mismatch is detected on a database metadata page.
  ReplicationDuplicateMasterException | The replication group has more than one master.
  ReplicationHandleDeadException | Thrown when a database handle has been invalidated because a replication election unrolled a committed transaction.
  ReplicationHoldElectionException | An election is needed.
  ReplicationJoinFailureException | Thrown if a new master has been chosen but the client is unable to synchronize with the new master, possibly because the client has turned off automatic internal initialization (the `ReplicationConfig.AUTOINIT` setting).
  ReplicationLeaseExpiredException | Thrown if a master lease has expired.
  ReplicationLockoutException | Thrown when an operation was blocked by client/master synchronization.
  ReplicationSiteUnavailableException | Thrown if replication group was unable to elect a master, or was unable to complete the election in the specified timeout period.
  RunRecoveryException | Thrown when the database environment needs to be recovered.
  SliceCorruptException | Thrown when a slice environment or database is missing or corrupt.
  VersionMismatchException | Thrown if the version of the Berkeley DB library doesn't match the version that created the database environment.

Copyright (c) 1996, 2020 Oracle and/or its affiliates. All rights reserved.