# Berkeley DB: C++ Interface

Section | Class/Method | Description
--- | --- | ---
Database Environment | DbEnv | Create an environment handle
| DbEnv::close | Close an environment
| DbEnv::dbremove | Remove a database
| DbEnv::dbrename | Rename a database
| DbEnv::err | Error message with error string
| DbEnv::errx | Error message
| DbEnv::open | Open an environment
| DbEnv::remove | Remove an environment
| DbEnv::strerror | Error strings
| DbEnv::version | Return version information
Environment Configuration | DbEnv::set_app_dispatch | Configure application recovery interface
| DbEnv::set_alloc | Set local space allocation functions
| DbEnv::set_data_dir | Set the environment data directory
| DbEnv::set_encrypt | Set the environment cryptographic key
| DbEnv::set_errcall | Set error message callback
| DbEnv::set_errfile | Set error message FILE
| DbEnv::set_error_stream | Set error message output stream
| DbEnv::set_errpfx | Set error message prefix
| DbEnv::set_feedback | Set feedback callback
| DbEnv::set_flags | Environment configuration
| DbEnv::set_paniccall | Set panic callback
| DbEnv::set_rpc_server | Establish an RPC server connection
| DbEnv::set_shm_key | Set system memory shared segment ID
| DbEnv::set_tas_spins | Set the number of test-and-set spins
| DbEnv::set_timeout | Set lock and transaction timeout
| DbEnv::set_tmp_dir | Set the environment temporary file directory
| DbEnv::set_verbose | Set verbose messages
Database Operations | Db | Create a database handle
| Db::associate | Associate a secondary index
| Db::close | Close a database
| Db::del | Delete items from a database
| Db::err | Error message with error string
| Db::errx | Error message
| Db::fd | Return a file descriptor from a database
| Db::get, Db::pget | Get items from a database
| Db::get_byteswapped | Return if the underlying database is in host order
| Db::get_type | Return the database type
| Db::join | Perform a database join on cursors
| Db::key_range | Return estimate of key location
| Db::open | Open a database
| Db::put | Store items into a database
| Db::remove | Remove a database
| Db::rename | Rename a database
| Db::stat | Return database statistics
| Db::sync | Flush a database to stable storage
| Db::truncate | Empty a database
| Db::upgrade | Upgrade a database
| Db::verify | Verify/salvage a database
Database Configuration | Db::set_alloc | Set local space allocation functions
| Db::set_cache_priority | Set the database cache priority
| Db::set_cachesize | Set the database cache size
| Db::set_dup_compare | Set a duplicate comparison function
| Db::set_encrypt | Set the database cryptographic key
| Db::set_errcall | Set error message callback
| Db::set_errfile | Set error message FILE
| Db::set_error_stream | Set error message output stream
| Db::set_errpfx | Set error message prefix
| Db::set_feedback | Set feedback callback
| Db::set_flags | General database configuration
| Db::set_lorder | Set the database byte order
| Db::set_pagesize | Set the underlying database page size
| Db::set_paniccall | Set panic callback
Btree/Recno Configuration | Db::set_append_recno | Set record append callback
| Db::set_bt_compare | Set a Btree comparison function
| Db::set_bt_minkey | Set the minimum number of keys per Btree page
| Db::set_bt_prefix | Set a Btree prefix comparison function
| Db::set_re_delim | Set the variable-length record delimiter
| Db::set_re_len | Set the fixed-length record length
| Db::set_re_pad | Set the fixed-length record pad byte
| Db::set_re_source | Set the backing Recno text file
Hash Configuration | Db::set_h_ffactor | Set the Hash table density
| Db::set_h_hash | Set a hashing function
| Db::set_h_nelem | Set the Hash table size
Queue Configuration | Db::set_q_extentsize | Set Queue database extent size
Database Cursor Operations | Dbc | Cursor class
| Db::cursor | Create a cursor handle
| Dbc::close | Close a cursor
| Dbc::count | Return count of duplicates
| Dbc::del | Delete by cursor
| Dbc::dup | Duplicate a cursor
| Dbc::get, Dbc::pget | Retrieve by cursor
| Dbc::put | Store by cursor
Key/Data Pairs | Dbt |
Bulk Retrieval | DB_MULTIPLE_INIT |
Lock Subsystem | DbEnv::set_lk_conflicts | Set lock conflicts matrix
| DbEnv::set_lk_detect | Set automatic deadlock detection
| DbEnv::set_lk_max_lockers | Set maximum number of lockers
| DbEnv::set_lk_max_locks | Set maximum number of locks
| DbEnv::set_lk_max_objects | Set maximum number of lock objects
| DbEnv::lock_detect | Perform deadlock detection
| DbEnv::lock_get | Acquire a lock
| DbEnv::lock_id | Acquire a locker ID
| DbEnv::lock_id_free | Release a locker ID
| DbEnv::lock_put | Release a lock
| DbEnv::lock_stat | Return lock subsystem statistics
| DbEnv::lock_vec | Acquire/release locks
Log Subsystem | DbEnv::set_lg_bsize | Set log buffer size
| DbEnv::set_lg_dir | Set the environment logging directory
| DbEnv::set_lg_max | Set log file size
| DbEnv::set_lg_regionmax | Set logging region size
| DbEnv::log_archive | List log and database files
| DbEnv::log_file | Map Log Sequence Numbers to log files
| DbEnv::log_flush | Flush log records
| DbEnv::log_put | Write a log record
| DbEnv::log_stat | Return log subsystem statistics
Log Cursor Operations | DbLogc | Log cursor class
| DbEnv::log_cursor | Create a log cursor handle
| DbLogc::close | Close a log cursor
| DbLogc::get | Retrieve a log record
Log Sequence Numbers | DbLsn |
| DbEnv::log_compare | Compare two Log Sequence Numbers
Memory Pool Subsystem | DbEnv::set_cachesize | Set the environment cache size
| DbEnv::set_mp_mmapsize | Set maximum mapped-in database file size
| DbEnv::memp_register | Register input/output functions for a file in a memory pool
| DbEnv::memp_stat | Return memory pool statistics
| DbEnv::memp_sync | Flush pages from a memory pool
| DbEnv::memp_trickle | Trickle flush pages from a memory pool
Memory Pool Files | DbMpoolFile | Memory Pool File class
| DbEnv::memp_fcreate | Open a file in a memory pool
| DbMpoolFile::close | Close a file in a memory pool
| DbMpoolFile::get | Get page from a file in a memory pool
| DbMpoolFile::open | Open a file in a memory pool
| DbMpoolFile::put | Return a page to a memory pool
| DbMpoolFile::set | Set memory pool page status
| DbMpoolFile::sync | Flush pages from a file in a memory pool
| DbMpoolFile::set_clear_len | Set file page bytes to be cleared
| DbMpoolFile::set_fileid | Set file unique identifier
| DbMpoolFile::set_ftype | Set file type
| DbMpoolFile::set_lsn_offset | Set file log-sequence-number offset
| DbMpoolFile::set_pgcookie | Set file cookie for pgin/pgout
Transaction Subsystem | DbEnv::set_tx_max | Set maximum number of transactions
| DbEnv::set_tx_timestamp | Set recovery timestamp
| DbEnv::txn_checkpoint | Checkpoint the transaction subsystem
| DbEnv::txn_recover | Distributed transaction recovery
| DbEnv::txn_stat | Return transaction subsystem statistics
Transactions | DbTxn | Transaction class
| DbEnv::txn_begin | Begin a transaction
| DbTxn::abort | Abort a transaction
| DbTxn::commit | Commit a transaction
| DbTxn::discard | Discard a prepared but not resolved transaction handle
| DbTxn::id | Return a transaction's ID
| DbTxn::prepare | Prepare a transaction for commit
| DbTxn::set_timeout | Set transaction timeout
Replication | DbEnv::set_rep_transport | Configure replication transport
| DbEnv::rep_elect | Hold a replication election
| DbEnv::set_rep_limit | Limit data sent in response to a single message
| DbEnv::rep_process_message | Process a replication message
| DbEnv::rep_start | Configure an environment for replication
| DbEnv::rep_stat | Replication statistics
Exceptions | DbException | Exception Class for Berkeley DB Activity
| DbDeadlockException | Exception Class for deadlocks
| DbLockNotGrantedException | Exception Class for lock request failures
| DbMemoryException | Exception Class for insufficient memory
| DbRunRecoveryException | Exception Class for failures requiring recovery

Copyright Sleepycat Software