<!--$Id: toc.html,v 10.295 2007/07/10 16:56:58 bostic Exp $--> <html> <head> <title>Berkeley DB Reference Guide (Version: 4.6.21)</title> <meta name="description" content="Berkeley DB: An embedded database programmatic toolkit."> <meta name="keywords" content="embedded,database,programmatic,toolkit,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++"> </head> <body bgcolor=white> <center> <h2><b>Berkeley DB Reference Guide, Version 4.6.21</b></h2> </center> <ol> <font size="+1"><li><a name="intro">Introduction</a></font> <ol> <li><a href="intro/data.html">An introduction to data management</a> <li><a href="intro/terrain.html">Mapping the terrain: theory and practice</a> <li><a href="intro/dbis.html">What is Berkeley DB?</a> <li><a href="intro/dbisnot.html">What Berkeley DB is not</a> <li><a href="intro/need.html">Do you need Berkeley DB?</a> <li><a href="intro/what.html">What other services does Berkeley DB provide?</a> <li><a href="intro/distrib.html">What does the Berkeley DB distribution include?</a> <li><a href="intro/where.html">Where does Berkeley DB run?</a> <li><a href="intro/products.html">The Berkeley DB products</a> </ol> <font size="+1"><li><a name="am_conf">Access Method Configuration</a></font> <ol> <li><a href="am_conf/intro.html">What are the available access methods?</a> <li><a href="am_conf/select.html">Selecting an access method</a> <li><a href="am_conf/logrec.html">Logical record numbers</a> <li>General access method configuration <ol> <li><a href="am_conf/pagesize.html">Selecting a page size</a> <li><a href="am_conf/cachesize.html">Selecting a cache size</a> <li><a href="am_conf/byteorder.html">Selecting a byte order</a> <li><a href="am_conf/dup.html">Duplicate data items</a> <li><a href="am_conf/malloc.html">Non-local memory allocation</a> </ol> <li>Btree access method specific configuration <ol> <li><a href="am_conf/bt_compare.html">Btree comparison</a> <li><a href="am_conf/bt_prefix.html">Btree prefix comparison</a> <li><a href="am_conf/bt_minkey.html">Minimum keys per page</a> <li><a href="am_conf/bt_recnum.html"> Retrieving Btree records by logical record number</a> </ol> <li>Hash access method specific configuration <ol> <li><a href="am_conf/h_ffactor.html">Page fill factor</a> <li><a href="am_conf/h_hash.html">Specifying a database hash</a> <li><a href="am_conf/h_nelem.html">Hash table size</a> </ol> <li>Queue and Recno access method specific configuration <ol> <li><a href="am_conf/recno.html">Managing record-based databases</a> <li><a href="am_conf/extentsize.html">Selecting a Queue extent size</a> <li><a href="am_conf/re_source.html">Flat-text backing files</a> <li><a href="am_conf/renumber.html">Logically renumbering records</a> </ol> </ol> <font size="+1"><li><a name="am">Access Method Operations</a></font> <ol> <li><a href="am/ops.html">Access method operations</a> <li><a href="am/open.html">Database open</a> <li><a href="am/opensub.html">Opening multiple databases in a single file</a> <li><a href="am/get.html">Retrieving records</a> <li><a href="am/put.html">Storing records</a> <li><a href="am/delete.html">Deleting records</a> <li><a href="am/stat.html">Database statistics</a> <li><a href="am/truncate.html">Database truncation</a> <li><a href="am/upgrade.html">Database upgrade</a> <li><a href="am/verify.html">Database verification and salvage</a> <li><a href="am/sync.html">Flushing the database cache</a> <li><a href="am/close.html">Database close</a> <li><a href="am/second.html">Secondary indices</a> <li><a href="am/cursor.html">Cursor operations</a> <ol> <li><a href="am/curget.html">Retrieving records with a cursor</a> <li><a href="am/curput.html">Storing records with a cursor</a> <li><a href="am/curdel.html">Deleting records with a cursor</a> <li><a href="am/curdup.html">Duplicating a cursor</a> <li><a href="am/join.html">Equality join</a> <li><a href="am/count.html">Data item count</a> <li><a href="am/curclose.html">Cursor close</a> </ol> </ol> <font size="+1"><li><a name="am_misc">Access Method Wrapup</a></font> <ol> <li><a href="am_misc/align.html">Data alignment</a> <li><a href="am_misc/get_bulk.html">Retrieving records in bulk</a> <li><a href="am_misc/partial.html">Partial record storage and retrieval</a> <li><a href="am_misc/struct.html">Storing C/C++ structures/objects</a> <li><a href="am_misc/perm.html">Retrieved key/data permanence for C/C++</a> <li><a href="am_misc/error.html">Error support</a> <li><a href="am_misc/stability.html">Cursor stability</a> <li><a href="am_misc/dbsizes.html">Database limits</a> <li><a href="am_misc/diskspace.html">Disk space requirements</a> <li><a href="am_misc/tune.html">Access method tuning</a> <li><a href="am_misc/faq.html">Access method FAQ</a> </ol> <font size="+1"><li><a name="java">Java API</a></font> <ol> <li><a href="../db46-devel-4.6.21/java/conf.html">Java configuration</a> <li><a href="../db46-devel-4.6.21/java/compat.html">Compatibility</a> <li><a href="../db46-devel-4.6.21/java/program.html">Java programming notes</a> <li><a href="../db46-devel-4.6.21/java/faq.html">Java FAQ</a> </ol> <font size="+1"><li><a name="arch">Berkeley DB Architecture</a></font> <ol> <li><a href="arch/bigpic.html">The big picture</a> <li><a href="arch/progmodel.html">Programming model</a> <li><a href="arch/apis.html">Programmatic APIs</a> <li><a href="arch/script.html">Scripting languages</a> <li><a href="arch/utilities.html">Supporting utilities</a> </ol> <font size="+1"><li><a name="env">The Berkeley DB Environment</a></font> <ol> <li><a href="env/intro.html">Database environment introduction</a> <li><a href="env/create.html">Creating a database environment</a> <li><a href="env/open.html">Opening databases within the environment</a> <li><a href="env/error.html">Error support</a> <li><a href="env/db_config.html">DB_CONFIG configuration file</a> <li><a href="env/naming.html">File naming</a> <li><a href="env/region.html">Shared memory regions</a> <li><a href="env/security.html">Security</a> <li><a href="env/encrypt.html">Encryption</a> <li><a href="env/remote.html">Remote filesystems</a> <li><a href="env/faq.html">Environment FAQ</a> </ol> <font size="+1"><li><a name="cam">Berkeley DB Concurrent Data Store Applications</a></font> <ol> <li><a href="cam/intro.html">Concurrent Data Store introduction</a> <li><a href="cam/fail.html">Handling failure in Data Store and Concurrent Data Store applications</a> <li><a href="cam/app.html">Architecting Data Store and Concurrent Data Store applications</a> </ol> <font size="+1"><li><a name="transapp">Berkeley DB Transactional Data Store Applications</a></font> <ol> <li><a href="transapp/intro.html">Transactional Data Store introduction</a> <li><a href="transapp/why.html">Why transactions?</a> <li><a href="transapp/term.html">Terminology</a> <li><a href="transapp/fail.html">Handling failure in Transactional Data Store applications</a> <li><a href="transapp/app.html">Architecting Transactional Data Store applications</a> <li><a href="transapp/env_open.html">Opening the environment</a> <li><a href="transapp/data_open.html">Opening the databases</a> <li><a href="transapp/put.html">Recoverability and deadlock handling</a> <li><a href="transapp/atomicity.html">Atomicity</a> <li><a href="transapp/inc.html">Isolation</a> <li><a href="transapp/read.html">Degrees of isolation</a> <li><a href="transapp/cursor.html">Transactional cursors</a> <li><a href="transapp/nested.html">Nested transactions</a> <li><a href="transapp/admin.html">Environment infrastructure</a> <li><a href="transapp/deadlock.html">Deadlock detection</a> <li><a href="transapp/checkpoint.html">Checkpoints</a> <li><a href="transapp/archival.html">Database and log file archival</a> <li><a href="transapp/logfile.html">Log file removal</a> <li><a href="transapp/recovery.html">Recovery procedures</a> <li><a href="transapp/hotfail.html">Hot failover</a> <li><a href="transapp/filesys.html">Recovery and filesystem operations</a> <li><a href="transapp/reclimit.html">Berkeley DB recoverability</a> <li><a href="transapp/tune.html">Transaction tuning</a> <li><a href="transapp/throughput.html">Transaction throughput</a> <li><a href="transapp/faq.html">Transaction FAQ</a> </ol> <font size="+1"><li><a name="rep">Berkeley DB Replication</a></font> <ol> <li><a href="rep/intro.html">Replication introduction</a> <li><a href="rep/id.html">Replication environment IDs</a> <li><a href="rep/pri.html">Replication environment priorities</a> <li><a href="rep/app.html">Building replicated applications</a> <li><a href="rep/mgr_meth.html">Replication Manager methods</a> <li><a href="rep/base_meth.html">Base replication API</a> <li><a href="rep/comm.html">Building the communications infrastructure</a> <li><a href="rep/newsite.html">Connecting to a new site</a> <li><a href="rep/elect.html">Elections</a> <li><a href="rep/mastersync.html">Synchronizing with a master</a> <li><a href="rep/init.html">Initializing a new site</a> <li><a href="rep/bulk.html">Bulk transfer</a> <li><a href="rep/trans.html">Transactional guarantees</a> <li><a href="rep/partition.html">Network partitions</a> <li><a href="rep/faq.html">Replication FAQ</a> <li><a href="rep/ex.html">Ex_rep: a replication example</a> <li><a href="rep/ex_comm.html">Ex_rep_base: a TCP/IP based communication infrastructure</a> <li><a href="rep/ex_rq.html">Ex_rep_base: putting it all together</a> </ol> <font size="+1"><li><a name="xa">Distributed Transactions</a></font> <ol> <li><a href="xa/intro.html">Introduction to distributed transactions</a> <li><a href="xa/build.html">Building a Global Transaction Manager</a> <li><a href="xa/xa_intro.html">XA Introduction</a> <li><a href="xa/xa_config.html">Configuring Berkeley DB with the Tuxedo System</a> <li><a href="xa/faq.html">XA: Frequently Asked Questions</a> </ol> <font size="+1"><li><a name="apprec">Application Specific Logging and Recovery</a></font> <ol> <li><a href="apprec/intro.html">Introduction to application specific logging and recovery</a> <li><a href="apprec/def.html">Defining application-specific log records</a> <li><a href="apprec/auto.html">Automatically generated functions</a> <li><a href="apprec/config.html">Application configuration</a> </ol> <font size="+1"><li><a name="program">Programmer Notes</a></font> <ol> <li><a href="program/appsignals.html">Signal handling</a> <li><a href="program/errorret.html">Error returns to applications</a> <li><a href="program/environ.html">Environmental variables</a> <li><a href="program/mt.html">Multithreaded applications</a> <li><a href="program/scope.html">Berkeley DB handles</a> <li><a href="program/namespace.html">Name spaces</a> <li><a href="program/ram.html">Memory-only or Flash configurations</a> <li><a href="program/cache.html">Disk drive caches</a> <li><a href="program/copy.html">Copying or moving databases</a> <li><a href="program/compatible.html">Compatibility with historic UNIX interfaces</a> <li><a href="program/runtime.html">Run-time configuration</a> <li><a href="program/faq.html">Programmer notes FAQ</a> </ol> <font size="+1"><li><a name="lock">The Locking Subsystem</a></font> <ol> <li><a href="lock/intro.html">Introduction to the locking subsystem</a> <li><a href="lock/config.html">Configuring locking</a> <li><a href="lock/max.html">Configuring locking: sizing the system</a> <li><a href="lock/stdmode.html">Standard lock modes</a> <li><a href="lock/dead.html">Deadlock detection</a> <li><a href="lock/timeout.html">Deadlock detection using timers</a> <li><a href="lock/deaddbg.html">Deadlock debugging</a> <li><a href="lock/page.html">Locking granularity</a> <li><a href="lock/notxn.html">Locking without transactions</a> <li><a href="lock/twopl.html">Locking with transactions: two-phase locking</a> <li><a href="lock/cam_conv.html">Berkeley DB Concurrent Data Store locking conventions</a> <li><a href="lock/am_conv.html">Berkeley DB Transactional Data Store locking conventions</a> <li><a href="lock/nondb.html">Locking and non-Berkeley DB applications</a> </ol> <font size="+1"><li><a name="log">The Logging Subsystem</a></font> <ol> <li><a href="log/intro.html">Introduction to the logging subsystem</a> <li><a href="log/config.html">Configuring logging</a> <li><a href="log/limits.html">Log file limits</a> </ol> <font size="+1"><li><a name="mp">The Memory Pool Subsystem</a></font> <ol> <li><a href="mp/intro.html">Introduction to the memory pool subsystem</a> <li><a href="mp/config.html">Configuring the memory pool</a> </ol> <font size="+1"><li><a name="txn">The Transaction Subsystem</a></font> <ol> <li><a href="txn/intro.html">Introduction to the transaction subsystem</a> <li><a href="txn/config.html">Configuring transactions</a> <li><a href="txn/limits.html">Transaction limits</a> </ol> <font size="+1"><li><a name="sequence">Sequences</a></font> <ol> <li><a href="sequence/intro.html">Introduction to sequences</a> </ol> <font size="+1"><li><a name="rpc">RPC Client/Server</a></font> <ol> <li><a href="rpc/intro.html">Introduction to the RPC client/server</a> <li><a href="rpc/client.html">Client program</a> <li><a href="rpc/server.html">Server program</a> <li><a href="rpc/faq.html">RPC FAQ</a> </ol> <font size="+1"><li><a name="tcl">Berkeley DB Extensions: Tcl</a></font> <ol> <li><a href="tcl/intro.html">Loading Berkeley DB with Tcl</a> <li><a href="tcl/using.html">Using Berkeley DB with Tcl</a> <li><a href="tcl/program.html">Tcl API programming notes</a> <li><a href="tcl/error.html">Tcl error handling</a> <li><a href="tcl/faq.html">Tcl FAQ</a> </ol> <font size="+1"><li><a name="ext">Berkeley DB Extensions</a></font> <ol> <li><a href="ext/mod.html">Using Berkeley DB with Apache</a> <li><a href="ext/perl.html">Using Berkeley DB with Perl</a> <li><a href="ext/php.html">Using Berkeley DB with PHP</a> </ol> <font size="+1"><li><a name="dumpload">Dumping and Reloading Databases</a></font> <ol> <li><a href="dumpload/utility.html">The db_dump and db_load utilities</a> <li><a href="dumpload/format.html">Dump output formats</a> <li><a href="dumpload/text.html">Loading text into databases</a> </ol> <font size="+1"><li><a name="install">System Installation Notes</a></font> <ol> <li><a href="install/file.html">File utility /etc/magic information</a> <li><a href="install/multiple.html">Building with multiple versions of Berkeley DB</a> </ol> <font size="+1"><li><a name="debug">Debugging Applications</a></font> <ol> <li><a href="debug/intro.html">Introduction to debugging</a> <li><a href="debug/compile.html">Compile-time configuration</a> <li><a href="debug/runtime.html">Run-time error information</a> <li><a href="debug/printlog.html">Reviewing Berkeley DB log files</a> </ol> <font size="+1"><li><a name="build_brew">Building Berkeley DB for BREW</a></font> <ol> <li><a href="build_brew/intro.html">Building for BREW</a> </ol> <font size="+1"><li><a name="build_brew">Building Berkeley DB for S60</a></font> <ol> <li><a href="build_s60/intro.html">Building for S60</a> </ol> <font size="+1"><li><a name="build_unix">Building Berkeley DB for UNIX/POSIX</a></font> <ol> <li><a href="build_unix/intro.html">Building for UNIX/POSIX</a> <li><a href="build_unix/conf.html">Configuring Berkeley DB</a> <li><a href="build_unix/small.html">Building a small memory footprint library</a> <li><a href="build_unix/flags.html">Changing compile or load options</a> <li><a href="build_unix/install.html">Installing Berkeley DB</a> <li><a href="build_unix/shlib.html">Dynamic shared libraries</a> <li><a href="build_unix/test.html">Running the test suite under UNIX</a> <li><a href="build_unix/notes.html">Architecture independent FAQ</a> <li>Architecture specific FAQs:<br> <a href="build_unix/aix.html">AIX</a>, <a href="build_unix/freebsd.html">FreeBSD</a>, <a href="build_unix/hpux.html">HP-UX</a>, <a href="build_unix/irix.html">IRIX</a>, <a href="build_unix/linux.html">Linux</a>, <a href="build_unix/macosx.html">Mac OS X</a>, <a href="build_unix/osf1.html">OSF/1</a>, <a href="build_unix/qnx.html">QNX</a>, <a href="build_unix/sco.html">SCO</a>, <a href="build_unix/solaris.html">Solaris</a>, <a href="build_unix/sunos.html">SunOS</a>, <a href="build_unix/ultrix.html">Ultrix</a> </ol> <font size="+1"><li><a name="build_win">Building Berkeley DB for Windows</a></font> <ol> <li><a href="build_win/intro.html">Building for Windows</a> <li><a href="build_win/small.html">Building a small memory footprint library</a> <li><a href="build_win/test.html">Running the test suite under Windows</a> <li><a href="build_win/notes.html">Windows notes</a> <li><a href="build_win/faq.html">Windows FAQ</a> </ol> <font size="+1"><li><a name="build_wince">Building Berkeley DB for Windows CE</a></font> <ol> <li><a href="build_wince/intro.html">Building for Windows CE</a> <li><a href="build_wince/notes.html">Windows CE notes</a> <li><a href="build_wince/faq.html">Windows CE FAQ</a> </ol> <font size="+1"><li><a name="build_vxworks">Building Berkeley DB for VxWorks</a></font> <ol> <li><a href="build_vxworks/intro.html">Building for VxWorks 5.4 and 5.5</a> <li><a href="build_vxworks/notes.html">VxWorks notes</a> <li><a href="build_vxworks/faq.html">VxWorks FAQ</a> </ol> <font size="+1"><li><a name="upgrade">Upgrading Berkeley DB Applications</a></font> <ol> <li><a href="upgrade/version.html">Library version information</a> <li><a href="upgrade/process.html">Upgrading Berkeley DB installations</a> <li><a href="changelog/toc.html">Berkeley DB Release Change Logs</a> <li><a href="upgrade.2.0/toc.html"> Upgrading Berkeley DB 1.85 and 1.86 applications to Berkeley DB 2.0</a> <li><a href="upgrade.3.0/toc.html"> Upgrading Berkeley DB 2.X applications to Berkeley DB 3.0</a> <li><a href="upgrade.3.1/toc.html"> Upgrading Berkeley DB 3.0 applications to Berkeley DB 3.1</a> <li><a href="upgrade.3.2/toc.html"> Upgrading Berkeley DB 3.1 applications to Berkeley DB 3.2</a> <li><a href="upgrade.3.3/toc.html"> Upgrading Berkeley DB 3.2 applications to Berkeley DB 3.3</a> <li><a href="upgrade.4.0/toc.html"> Upgrading Berkeley DB 3.3 applications to Berkeley DB 4.0</a> <li><a href="upgrade.4.1/toc.html"> Upgrading Berkeley DB 4.0 applications to Berkeley DB 4.1</a> <li><a href="upgrade.4.2/toc.html"> Upgrading Berkeley DB 4.1 applications to Berkeley DB 4.2</a> <li><a href="upgrade.4.3/toc.html"> Upgrading Berkeley DB 4.2 applications to Berkeley DB 4.3</a> <li><a href="upgrade.4.4/toc.html"> Upgrading Berkeley DB 4.3 applications to Berkeley DB 4.4</a> <li><a href="upgrade.4.5/toc.html"> Upgrading Berkeley DB 4.4 applications to Berkeley DB 4.5</a> <li><a href="upgrade.4.6/toc.html"> Upgrading Berkeley DB 4.5 applications to Berkeley DB 4.6</a> </ol> <font size="+1"><li><a name="test">Test Suite</a></font> <ol> <li><a href="test/run.html">Running the test suite</a> <li><a href="test/faq.html">Test suite FAQ</a> </ol> <font size="+1"><li><a name="distrib">Distribution</a></font> <ol> <li><a href="distrib/port.html">Porting Berkeley DB to new architectures</a> <li><a href="distrib/layout.html">Source code layout</a> </ol> <font size="+1"><li><a name="refs">Additional References</a></font> <ol> <li><a href="refs/refs.html">Additional references</a> </ol> </ol> </body> </html>