__EDIT_PRODUCT Reference Guide, Version __EDIT_VERSION_MAJOR.__EDIT_VERSION_MINOR.__EDIT_VERSION_PATCH

  1. Introduction
    1. An introduction to data management
    2. Mapping the terrain: theory and practice
    3. What is Berkeley DB?
    4. What Berkeley DB is not
    5. Do you need Berkeley DB?
    6. What other services does Berkeley DB provide?
    7. What does the Berkeley DB distribution include?
    8. Where does Berkeley DB run?
    9. The Berkeley DB products
  2. Access Method Configuration
    1. What are the available access methods?
    2. Selecting an access method
    3. Logical record numbers
    4. General access method configuration
      1. Selecting a page size
      2. Selecting a cache size
      3. Selecting a byte order
      4. Duplicate data items
      5. Non-local memory allocation
    5. Btree access method specific configuration
      1. Btree comparison
      2. Btree prefix comparison
      3. Minimum keys per page
      4. Retrieving Btree records by logical record number
    6. Hash access method specific configuration
      1. Page fill factor
      2. Specifying a database hash
      3. Hash table size
    7. Queue and Recno access method specific configuration
      1. Managing record-based databases
      2. Selecting a Queue extent size
      3. Flat-text backing files
      4. Logically renumbering records
  3. Access Method Operations
    1. Access method operations
    2. Database open
    3. Opening multiple databases in a single file
    4. Retrieving records
    5. Storing records
    6. Deleting records
    7. Database statistics
    8. Database truncation
    9. Database upgrade
    10. Database verification and salvage
    11. Flushing the database cache
    12. Database close
    13. Secondary indices
    14. Cursor operations
      1. Retrieving records with a cursor
      2. Storing records with a cursor
      3. Deleting records with a cursor
      4. Duplicating a cursor
      5. Equality join
      6. Data item count
      7. Cursor close
  4. Access Method Wrapup
    1. Data alignment
    2. Retrieving records in bulk
    3. Partial record storage and retrieval
    4. Storing C/C++ structures/objects
    5. Retrieved key/data permanence for C/C++
    6. Error support
    7. Cursor stability
    8. Database limits
    9. Disk space requirements
    10. Access method tuning
    11. Access method FAQ
  5. Java API
    1. Java configuration
    2. Compatibility
    3. Java programming notes
    4. Java FAQ
  6. Berkeley DB Architecture
    1. The big picture
    2. Programming model
    3. Programmatic APIs
    4. Scripting languages
    5. Supporting utilities
  7. The Berkeley DB Environment
    1. Database environment introduction
    2. Creating a database environment
    3. Opening databases within the environment
    4. Error support
    5. DB_CONFIG configuration file
    6. File naming
    7. Shared memory regions
    8. Security
    9. Encryption
    10. Remote filesystems
    11. Environment FAQ
  8. Berkeley DB Concurrent Data Store Applications
    1. Concurrent Data Store introduction
    2. Handling failure in Data Store and Concurrent Data Store applications
    3. Architecting Data Store and Concurrent Data Store applications
  9. Berkeley DB Transactional Data Store Applications
    1. Transactional Data Store introduction
    2. Why transactions?
    3. Terminology
    4. Handling failure in Transactional Data Store applications
    5. Architecting Transactional Data Store applications
    6. Opening the environment
    7. Opening the databases
    8. Recoverability and deadlock handling
    9. Atomicity
    10. Isolation
    11. Degrees of isolation
    12. Transactional cursors
    13. Nested transactions
    14. Environment infrastructure
    15. Deadlock detection
    16. Checkpoints
    17. Database and log file archival
    18. Log file removal
    19. Recovery procedures
    20. Hot failover
    21. Recovery and filesystem operations
    22. Berkeley DB recoverability
    23. Transaction tuning
    24. Transaction throughput
    25. Transaction FAQ
  10. Berkeley DB Replication
    1. Replication introduction
    2. Replication environment IDs
    3. Replication environment priorities
    4. Building replicated applications
    5. Replication Manager methods
    6. Base replication API
    7. Building the communications infrastructure
    8. Connecting to a new site
    9. Elections
    10. Synchronizing with a master
    11. Initializing a new site
    12. Bulk transfer
    13. Transactional guarantees
    14. Master leases
    15. Clock skew
    16. Network partitions
    17. Replication FAQ
    18. Ex_rep: a replication example
    19. Ex_rep_base: a TCP/IP based communication infrastructure
    20. Ex_rep_base: putting it all together
  11. Distributed Transactions
    1. Introduction to distributed transactions
    2. Building a Global Transaction Manager
    3. XA Introduction
    4. Configuring Berkeley DB with the Tuxedo System
    5. XA: Frequently Asked Questions
  12. Application Specific Logging and Recovery
    1. Introduction to application specific logging and recovery
    2. Defining application-specific log records
    3. Automatically generated functions
    4. Application configuration
  13. Programmer Notes
    1. Signal handling
    2. Error returns to applications
    3. Environmental variables
    4. Multithreaded applications
    5. Berkeley DB handles
    6. Name spaces
    7. Memory-only or Flash configurations
    8. Disk drive caches
    9. Copying or moving databases
    10. Compatibility with historic UNIX interfaces
    11. Run-time configuration
    12. Programmer notes FAQ
  14. The Locking Subsystem
    1. Introduction to the locking subsystem
    2. Configuring locking
    3. Configuring locking: sizing the system
    4. Standard lock modes
    5. Deadlock detection
    6. Deadlock detection using timers
    7. Deadlock debugging
    8. Locking granularity
    9. Locking without transactions
    10. Locking with transactions: two-phase locking
    11. Berkeley DB Concurrent Data Store locking conventions
    12. Berkeley DB Transactional Data Store locking conventions
    13. Locking and non-Berkeley DB applications
  15. The Logging Subsystem
    1. Introduction to the logging subsystem
    2. Configuring logging
    3. Log file limits
  16. The Memory Pool Subsystem
    1. Introduction to the memory pool subsystem
    2. Configuring the memory pool
  17. The Transaction Subsystem
    1. Introduction to the transaction subsystem
    2. Configuring transactions
    3. Transaction limits
  18. Sequences
    1. Introduction to sequences
  19. RPC Client/Server
    1. Introduction to the RPC client/server
    2. Client program
    3. Server program
    4. RPC FAQ
  20. Berkeley DB Extensions: Tcl
    1. Loading Berkeley DB with Tcl
    2. Using Berkeley DB with Tcl
    3. Tcl API programming notes
    4. Tcl error handling
    5. Tcl FAQ
  21. Berkeley DB Extensions
    1. Using Berkeley DB with Apache
    2. Using Berkeley DB with Perl
    3. Using Berkeley DB with PHP
  22. Dumping and Reloading Databases
    1. The db_dump and db_load utilities
    2. Dump output formats
    3. Loading text into databases
  23. System Installation Notes
    1. File utility /etc/magic information
    2. Building with multiple versions of Berkeley DB
  24. Debugging Applications
    1. Introduction to debugging
    2. Compile-time configuration
    3. Run-time error information
    4. Reviewing Berkeley DB log files
  25. Building Berkeley DB for BREW
    1. Building for BREW
  26. Building Berkeley DB for S60
    1. Building for S60
    2. S60 notes
  27. Building Berkeley DB for UNIX/POSIX
    1. Building for UNIX/POSIX
    2. Configuring Berkeley DB
    3. Building a small memory footprint library
    4. Changing compile or load options
    5. Installing Berkeley DB
    6. Dynamic shared libraries
    7. Running the test suite under UNIX
    8. Architecture independent FAQ
    9. Architecture specific FAQs:
      AIX, FreeBSD, HP-UX, IRIX, Linux, Mac OS X, OSF/1, QNX, SCO, Solaris, SunOS, Ultrix
  28. Building Berkeley DB for Windows
    1. Building for Windows
    2. Building a small memory footprint library
    3. Running the test suite under Windows
    4. Windows notes
    5. Windows FAQ
  29. Building Berkeley DB for Windows CE
    1. Building for Windows CE
    2. Windows CE notes
  30. Building Berkeley DB for VxWorks
    1. Building for VxWorks 5.4 and 5.5
    2. Building for VxWorks6.x
    3. VxWorks notes
    4. VxWorks FAQ
  31. Upgrading Berkeley DB Applications
    1. Library version information
    2. Upgrading Berkeley DB installations
    3. Berkeley DB Release Change Logs
    4. Upgrading Berkeley DB 1.85 and 1.86 applications to Berkeley DB 2.0
    5. Upgrading Berkeley DB 2.X applications to Berkeley DB 3.0
    6. Upgrading Berkeley DB 3.0 applications to Berkeley DB 3.1
    7. Upgrading Berkeley DB 3.1 applications to Berkeley DB 3.2
    8. Upgrading Berkeley DB 3.2 applications to Berkeley DB 3.3
    9. Upgrading Berkeley DB 3.3 applications to Berkeley DB 4.0
    10. Upgrading Berkeley DB 4.0 applications to Berkeley DB 4.1
    11. Upgrading Berkeley DB 4.1 applications to Berkeley DB 4.2
    12. Upgrading Berkeley DB 4.2 applications to Berkeley DB 4.3
    13. Upgrading Berkeley DB 4.3 applications to Berkeley DB 4.4
    14. Upgrading Berkeley DB 4.4 applications to Berkeley DB 4.5
    15. Upgrading Berkeley DB 4.5 applications to Berkeley DB 4.6
    16. Upgrading Berkeley DB 4.6 applications to Berkeley DB 4.7
  32. Test Suite
    1. Running the test suite
    2. Test suite FAQ
  33. Distribution
    1. Porting Berkeley DB to new architectures
    2. Source code layout
  34. Additional References
    1. Additional references