Reference Guide Table of Contents
- Introduction
    - What is Berkeley DB?
    
- Sleepycat Software Berkeley DB Products
    
- Where does Berkeley DB run?
    
- What does the Berkeley DB distribution include?
    
- What can you do with Berkeley DB?
    
- Getting Started: A Simple Tutorial
    - Introduction
    
- Key/data pairs
    
- Object handles
    
- Error returns
    
- Opening a database
    
- Adding elements to a database
    
- Retrieving elements from a database
    
- Removing elements from a database
    
- Closing a database
    
- Access Method Operations
    - Access method operations
    
- Opening a database
    
- Opening multiple databases in a single file
    
- Upgrading databases
    
- Retrieving records
    
- Storing records
    
- Deleting records
    
- Flushing the database cache
    
- Database statistics
    
- Closing a database
    
- Database cursors
	
	    - Retrieving records with a cursor
	    
- Storing records with a cursor
	    
- Deleting records with a cursor
	    
- Duplicating a cursor
	    
- Logical join
	    
- Data item count
	    
- Closing a cursor
	
 
- Partial record storage and retrieval
    
- Database verification and salvage
    
- Error support
    
- Access Method Configuration
    - What are the available access methods?
    
- Selecting an access method
    
- Logical record numbers
    
- General access method configuration
	
	- Selecting a page size
	
- Selecting a cache size
	
- Selecting a byte order
	
- Duplicate data items
	
- Non-local memory allocation
	
 
- Btree access method specific configuration
	
	- Btree comparison
	
- Btree prefix comparison
	
- Minimum keys per page
	
- Retrieving Btree records by logical record number
	
 
- Hash access method specific configuration
	
	- Page fill factor
	
- Specifying a database hash
	
- Hash table size
	
 
- Queue and Recno access method specific configuration
	
	- Managing record-based databases
	
- Flat-text backing files
	
- Logically renumbering records
	
 
- Berkeley DB Architecture
    - The big picture
    
- Programming model
    
- Programmatic APIs
    
- Scripting languages
    
- Supporting utilities
    
- The Berkeley DB Environment
    - Introduction
    
- Creating an environment
    
- File naming
    
- Security
    
- Shared memory regions
    
- Remote filesystems
    
- Opening databases within the environment
    
- Error support
    
- Berkeley DB Concurrent Data Store Applications
    - Building Berkeley DB Concurrent Data Store applications
    
- Berkeley DB Transactional Data Store Applications
    - Terminology
    
- Introduction
    
- Building transaction protected applications
    
- Building transaction protected routines
    
- Administration
    
- Deadlock detection
    
- Performing checkpoints
    
- Archival procedures
    
- Recovery procedures
    
- Recovery and filesystem operations
    
- Recovery implementation
    
- Berkeley DB recoverability
    
- Transaction throughput
    
- XA Resource Manager
    - Introduction
    
- Configuring Berkeley DB with The Tuxedo System
    
- Frequently Asked Questions
    
- Programmer Notes
    - Application signal handling
    
- Error returns to applications
    
- Environmental variables
    
- Building multi-threaded applications
    
- Name spaces
    
- Copying databases
    
- Library version information
    
- Database limits
    
- Byte ordering
    
- Disk space requirements
    
- Compatibility with historic interfaces
    
- Application-specific logging and recovery
    
- Run-time configuration
    
- The Locking Subsystem
    - Berkeley DB and locking
    
- Page locks
	
	- Standard lock modes
	
- Locking without transactions
	
- Locking with transactions: two-phase locking
	
 
- Access method locking conventions
    
- Berkeley DB Concurrent Data Store locking conventions
    
- Deadlocks and deadlock avoidance
    
- Configuring locking
    
- Locking and non-Berkeley DB applications
    
- The Logging Subsystem
    - Berkeley DB and logging
    
- Log file limits
    
- Configuring logging
    
- The Memory Pool Subsystem
    - Berkeley DB and the memory pool
    
- Configuring the memory pool
    
- The Transaction Subsystem
    - Berkeley DB and transactions
    
- Nested transactions
    
- Cursor stability
    
- Transaction limits
    
- Configuring transactions
    
- Transactions and non-Berkeley DB applications
    
- RPC Client/Server
    - Introduction
    
- Client program
    
- Server program
    
- Java API
    - Configuration
    
- Compatibility
    
- Programming notes
    
- Perl API
    - Using Berkeley DB with Perl
    
- Tcl API
    - Loading Berkeley DB with Tcl
    
- Using Berkeley DB with Tcl
    
- Tcl API programming notes
    
- Tcl error handling
    
- Sendmail
    - Using Berkeley DB with Sendmail
    
- Dumping and Reloading Databases
    - The db_dump and db_load utilities
    
- Dump output formats
    
- Loading text into databases
    
- System Installation Notes
    - File utility /etc/magic information
    
- Debugging Applications
    - Introduction
    
- Compile-time configuration
    
- Run-time error information
    
- Reviewing Berkeley DB log files
    
- Common errors
    
- Building Berkeley DB for UNIX systems
    - Building for UNIX
    
- Configuring Berkeley DB
    
- Changing compile or load options
    
- Installing Berkeley DB
    
- Dynamic shared libraries
    
- Running the test suite under UNIX
    
- Architecture independent FAQ
    
- Architecture specific FAQs
	
	- AIX
	
- FreeBSD
	
- HP-UX
	
- IRIX
	
- Linux
	
- OSF/1
	
- SCO
	
- Solaris
	
- SunOS
	
- Ultrix
	
 
- Building Berkeley DB for Win32 platforms
    - Building for Win32
    
- Running the test suite under Windows
    
- Windows notes
    
- Windows FAQ
    
- Building Berkeley DB for VxWorks systems
    - Building for VxWorks
    
- VxWorks notes
    
- VxWorks FAQ
    
- Upgrading Berkeley DB Applications
    - Upgrading Berkeley DB 1.XX applications to Berkeley DB 2.0
	
	- Release 2.0: introduction
	
- Release 2.0: system integration
	
- Release 2.0: converting applications
	
- Release 2.0: on-disk database format
	
 
- Upgrading Berkeley DB 2.X.X applications to Berkeley DB 3.0
	
	- Release 3.0: introduction
	
- Release 3.0: environment open/close/unlink
	
- Release 3.0: function arguments
	
- Release 3.0: the DB_ENV structure
	
- Release 3.0: database open/close
	
- Release 3.0: db_xa_open
	
- Release 3.0: the DB structure
	
- Release 3.0: the DBINFO structure
	
- Release 3.0: DB->join
	
- Release 3.0: DB->stat
	
- Release 3.0: DB->sync and DB->close
	
- Release 3.0: lock_put
	
- Release 3.0: lock_detect
	
- Release 3.0: lock_stat
	
- Release 3.0: log_register
	
- Release 3.0: log_stat
	
- Release 3.0: memp_stat
	
- Release 3.0: txn_begin
	
- Release 3.0: txn_commit
	
- Release 3.0: txn_stat
	
- Release 3.0: DB_RMW
	
- Release 3.0: DB_LOCK_NOTHELD
	
- Release 3.0: EAGAIN
	
- Release 3.0: EACCES
	
- Release 3.0: db_jump_set
	
- Release 3.0: db_value_set
	
- Release 3.0: the DbEnv class for C++ and Java
	
- Release 3.0: the Db class for C++ and Java
	
- Release 3.0: additional C++ changes
	
- Release 3.0: additional Java changes
	
- Release 3.0: on-disk database format
	
 
- Upgrading Berkeley DB 3.0 applications to Berkeley DB 3.1
	
	- Release 3.1: introduction
	
- Release 3.1: DBENV->open, DBENV->remove
	
- Release 3.1: DBENV->set_tx_recover
	
- Release 3.1: DBENV->set_feedback, DB->set_feedback
	
- Release 3.1: DBENV->set_paniccall, DB->set_paniccall
	
- Release 3.1: DB->put
	
- Release 3.1: identical duplicate data items
	
- Release 3.1: DB->stat
	
- Release 3.1: DB_SYSTEM_MEM
	
- Release 3.1: log_register
	
- Release 3.1: memp_register
	
- Release 3.1: txn_checkpoint
	
- Release 3.1: environment configuration
	
- Release 3.1: Tcl API
	
- Release 3.1: DB_TMP_DIR
	
- Release 3.1: log file pre-allocation
	
- Release 3.1: on-disk database format
	
 
- Test Suite
    - Running the test suite
    
- Distribution
    - Source code layout
    
- Additional References
    - Additional references
    
Copyright Sleepycat Software