Imported Upstream version 5.3.21
[platform/upstream/libdb.git] / docs / programmer_reference / index.html
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml">
4   <head>
5     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
6     <title>Berkeley DB Programmer's Reference Guide</title>
7     <link rel="stylesheet" href="gettingStarted.css" type="text/css" />
8     <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
9     <link rel="start" href="index.html" title="Berkeley DB Programmer's Reference Guide" />
10     <link rel="next" href="preface.html" title="Preface" />
11   </head>
12   <body>
13     <div xmlns="" class="navheader">
14       <div class="libver">
15         <p>Library Version 11.2.5.3</p>
16       </div>
17       <table width="100%" summary="Navigation header">
18         <tr>
19           <th colspan="3" align="center">Berkeley DB Programmer's Reference Guide</th>
20         </tr>
21         <tr>
22           <td width="20%" align="left"> </td>
23           <th width="60%" align="center"> </th>
24           <td width="20%" align="right"> <a accesskey="n" href="preface.html">Next</a></td>
25         </tr>
26       </table>
27       <hr />
28     </div>
29     <div class="book" lang="en" xml:lang="en">
30       <div class="titlepage">
31         <div>
32           <div>
33             <h1 class="title"><a id="idm1386312"></a>Berkeley DB Programmer's Reference Guide</h1>
34           </div>
35           <div>
36             <div class="legalnotice">
37               <a id="idm1958888"></a>
38               <p class="legalnotice-title">
39                 <b>Legal Notice</b>
40               </p>
41               <span>
42         <p>
43             This documentation is distributed under an open source license.
44             You may review the terms of this license at:
45             <a class="ulink" href="http://www.oracle.com/technetwork/database/berkeleydb/downloads/oslicense-093458.html" target="_top">http://www.oracle.com/technetwork/database/berkeleydb/downloads/oslicense-093458.html</a>
46             
47             
48         </p>
49
50         <p>
51                 Oracle, Berkeley DB,
52                 
53                 
54                 and
55                 Sleepycat are trademarks or registered trademarks of
56                 Oracle. All rights to these marks are reserved.
57                 No third-party use is permitted without the
58                 express prior written consent of Oracle.
59         </p>
60         
61         <p>
62             Other names may be trademarks of their respective owners.
63         </p>
64         <p>
65             To obtain a copy of this document's original source code, please
66             submit a request to the Oracle Technology Network forum at:
67             <a class="ulink" href="http://forums.oracle.com/forums/forum.jspa?forumID=271" target="_top">http://forums.oracle.com/forums/forum.jspa?forumID=271</a>
68             
69             
70         </p>
71     </span>
72             </div>
73           </div>
74           <div>
75             <p class="pubdate">5/11/2012</p>
76           </div>
77         </div>
78         <hr />
79       </div>
80       <div class="toc">
81         <p>
82           <b>Table of Contents</b>
83         </p>
84         <dl>
85           <dt>
86             <span class="preface">
87               <a href="preface.html">Preface</a>
88             </span>
89           </dt>
90           <dd>
91             <dl>
92               <dt>
93                 <span class="sect1">
94                   <a href="preface.html#conventions">Conventions Used in this Book</a>
95                 </span>
96               </dt>
97               <dt>
98                 <span class="sect1">
99                   <a href="moreinfo.html">For More Information</a>
100                 </span>
101               </dt>
102               <dd>
103                 <dl>
104                   <dt>
105                     <span class="sect2">
106                       <a href="moreinfo.html#contact_us">Contact Us</a>
107                     </span>
108                   </dt>
109                 </dl>
110               </dd>
111             </dl>
112           </dd>
113           <dt>
114             <span class="chapter">
115               <a href="intro.html">1. 
116                 Introduction
117         </a>
118             </span>
119           </dt>
120           <dd>
121             <dl>
122               <dt>
123                 <span class="sect1">
124                   <a href="intro.html#intro_data">An introduction to data management</a>
125                 </span>
126               </dt>
127               <dt>
128                 <span class="sect1">
129                   <a href="intro_terrain.html">Mapping the terrain: theory and practice</a>
130                 </span>
131               </dt>
132               <dd>
133                 <dl>
134                   <dt>
135                     <span class="sect2">
136                       <a href="intro_terrain.html#idm1895840">Data access and data management</a>
137                     </span>
138                   </dt>
139                   <dt>
140                     <span class="sect2">
141                       <a href="intro_terrain.html#idm2229408">Relational databases</a>
142                     </span>
143                   </dt>
144                   <dt>
145                     <span class="sect2">
146                       <a href="intro_terrain.html#idm2389408">Object-oriented databases</a>
147                     </span>
148                   </dt>
149                   <dt>
150                     <span class="sect2">
151                       <a href="intro_terrain.html#idm2511776">Network databases</a>
152                     </span>
153                   </dt>
154                   <dt>
155                     <span class="sect2">
156                       <a href="intro_terrain.html#idm1916248">Clients and servers</a>
157                     </span>
158                   </dt>
159                 </dl>
160               </dd>
161               <dt>
162                 <span class="sect1">
163                   <a href="intro_dbis.html">What is Berkeley DB?</a>
164                 </span>
165               </dt>
166               <dd>
167                 <dl>
168                   <dt>
169                     <span class="sect2">
170                       <a href="intro_dbis.html#idm1665072">Data Access Services</a>
171                     </span>
172                   </dt>
173                   <dt>
174                     <span class="sect2">
175                       <a href="intro_dbis.html#idm1554168">Data management services</a>
176                     </span>
177                   </dt>
178                   <dt>
179                     <span class="sect2">
180                       <a href="intro_dbis.html#idm157888">Design</a>
181                     </span>
182                   </dt>
183                 </dl>
184               </dd>
185               <dt>
186                 <span class="sect1">
187                   <a href="intro_dbisnot.html">What Berkeley DB is not</a>
188                 </span>
189               </dt>
190               <dd>
191                 <dl>
192                   <dt>
193                     <span class="sect2">
194                       <a href="intro_dbisnot.html#idm1802280">Berkeley DB is not a relational database</a>
195                     </span>
196                   </dt>
197                   <dt>
198                     <span class="sect2">
199                       <a href="intro_dbisnot.html#idm2288920">Berkeley DB is not an object-oriented database</a>
200                     </span>
201                   </dt>
202                   <dt>
203                     <span class="sect2">
204                       <a href="intro_dbisnot.html#idm2354536">Berkeley DB is not a network database</a>
205                     </span>
206                   </dt>
207                   <dt>
208                     <span class="sect2">
209                       <a href="intro_dbisnot.html#idm2301256">Berkeley DB is not a database server</a>
210                     </span>
211                   </dt>
212                 </dl>
213               </dd>
214               <dt>
215                 <span class="sect1">
216                   <a href="intro_need.html">Do you need Berkeley DB?</a>
217                 </span>
218               </dt>
219               <dt>
220                 <span class="sect1">
221                   <a href="intro_what.html">What other services does Berkeley DB provide?</a>
222                 </span>
223               </dt>
224               <dt>
225                 <span class="sect1">
226                   <a href="intro_distrib.html">What does the Berkeley DB distribution include?</a>
227                 </span>
228               </dt>
229               <dt>
230                 <span class="sect1">
231                   <a href="intro_where.html">Where does Berkeley DB run?</a>
232                 </span>
233               </dt>
234               <dt>
235                 <span class="sect1">
236                   <a href="intro_products.html">The Berkeley DB products</a>
237                 </span>
238               </dt>
239               <dd>
240                 <dl>
241                   <dt>
242                     <span class="sect2">
243                       <a href="intro_products.html#idm2240216">Berkeley DB Data Store</a>
244                     </span>
245                   </dt>
246                   <dt>
247                     <span class="sect2">
248                       <a href="intro_products.html#idm1817232">Berkeley DB Concurrent Data Store</a>
249                     </span>
250                   </dt>
251                   <dt>
252                     <span class="sect2">
253                       <a href="intro_products.html#idm1869736">Berkeley DB Transactional Data Store</a>
254                     </span>
255                   </dt>
256                   <dt>
257                     <span class="sect2">
258                       <a href="intro_products.html#idm1577368">Berkeley DB High Availability</a>
259                     </span>
260                   </dt>
261                 </dl>
262               </dd>
263             </dl>
264           </dd>
265           <dt>
266             <span class="chapter">
267               <a href="am_conf.html">2. 
268                 Access Method Configuration
269         </a>
270             </span>
271           </dt>
272           <dd>
273             <dl>
274               <dt>
275                 <span class="sect1">
276                   <a href="am_conf.html#am_conf_intro">
277         What are the available access methods?
278     </a>
279                 </span>
280               </dt>
281               <dd>
282                 <dl>
283                   <dt>
284                     <span class="sect2">
285                       <a href="am_conf.html#idm2161896">Btree</a>
286                     </span>
287                   </dt>
288                   <dt>
289                     <span class="sect2">
290                       <a href="am_conf.html#idp32168">Hash</a>
291                     </span>
292                   </dt>
293                   <dt>
294                     <span class="sect2">
295                       <a href="am_conf.html#idm2680320">Heap</a>
296                     </span>
297                   </dt>
298                   <dt>
299                     <span class="sect2">
300                       <a href="am_conf.html#idm2335248">Queue</a>
301                     </span>
302                   </dt>
303                   <dt>
304                     <span class="sect2">
305                       <a href="am_conf.html#idm1801904">Recno</a>
306                     </span>
307                   </dt>
308                 </dl>
309               </dd>
310               <dt>
311                 <span class="sect1">
312                   <a href="am_conf_select.html">Selecting an access method</a>
313                 </span>
314               </dt>
315               <dd>
316                 <dl>
317                   <dt>
318                     <span class="sect2">
319                       <a href="am_conf_select.html#idm1772384">Btree or Heap?</a>
320                     </span>
321                   </dt>
322                   <dt>
323                     <span class="sect2">
324                       <a href="am_conf_select.html#idm2622384">Hash or Btree?</a>
325                     </span>
326                   </dt>
327                   <dt>
328                     <span class="sect2">
329                       <a href="am_conf_select.html#idm1789184">Queue or Recno?</a>
330                     </span>
331                   </dt>
332                 </dl>
333               </dd>
334               <dt>
335                 <span class="sect1">
336                   <a href="am_conf_logrec.html">Logical record numbers</a>
337                 </span>
338               </dt>
339               <dt>
340                 <span class="sect1">
341                   <a href="general_am_conf.html">General access method configuration</a>
342                 </span>
343               </dt>
344               <dd>
345                 <dl>
346                   <dt>
347                     <span class="sect2">
348                       <a href="general_am_conf.html#am_conf_pagesize">Selecting a page size</a>
349                     </span>
350                   </dt>
351                   <dt>
352                     <span class="sect2">
353                       <a href="general_am_conf.html#am_conf_cachesize">Selecting a cache size</a>
354                     </span>
355                   </dt>
356                   <dt>
357                     <span class="sect2">
358                       <a href="general_am_conf.html#am_conf_byteorder">Selecting a byte order</a>
359                     </span>
360                   </dt>
361                   <dt>
362                     <span class="sect2">
363                       <a href="general_am_conf.html#am_conf_dup">Duplicate data items</a>
364                     </span>
365                   </dt>
366                   <dt>
367                     <span class="sect2">
368                       <a href="general_am_conf.html#am_conf_malloc">Non-local memory allocation</a>
369                     </span>
370                   </dt>
371                 </dl>
372               </dd>
373               <dt>
374                 <span class="sect1">
375                   <a href="bt_conf.html">Btree access method specific configuration</a>
376                 </span>
377               </dt>
378               <dd>
379                 <dl>
380                   <dt>
381                     <span class="sect2">
382                       <a href="bt_conf.html#am_conf_bt_compare">Btree comparison</a>
383                     </span>
384                   </dt>
385                   <dt>
386                     <span class="sect2">
387                       <a href="bt_conf.html#am_conf_bt_prefix">Btree prefix comparison</a>
388                     </span>
389                   </dt>
390                   <dt>
391                     <span class="sect2">
392                       <a href="bt_conf.html#am_conf_bt_minkey">Minimum keys per page</a>
393                     </span>
394                   </dt>
395                   <dt>
396                     <span class="sect2">
397                       <a href="bt_conf.html#am_conf_bt_recnum">Retrieving Btree records by logical record number</a>
398                     </span>
399                   </dt>
400                   <dt>
401                     <span class="sect2">
402                       <a href="bt_conf.html#am_conf_bt_compress">Compression</a>
403                     </span>
404                   </dt>
405                 </dl>
406               </dd>
407               <dt>
408                 <span class="sect1">
409                   <a href="hash_conf.html">Hash access method specific configuration</a>
410                 </span>
411               </dt>
412               <dd>
413                 <dl>
414                   <dt>
415                     <span class="sect2">
416                       <a href="hash_conf.html#am_conf_h_ffactor">Page fill factor</a>
417                     </span>
418                   </dt>
419                   <dt>
420                     <span class="sect2">
421                       <a href="hash_conf.html#am_conf_h_hash">Specifying a database hash</a>
422                     </span>
423                   </dt>
424                   <dt>
425                     <span class="sect2">
426                       <a href="hash_conf.html#am_conf_h_nelem">Hash table size</a>
427                     </span>
428                   </dt>
429                 </dl>
430               </dd>
431               <dt>
432                 <span class="sect1">
433                   <a href="heap_conf.html">Heap access method specific configuration</a>
434                 </span>
435               </dt>
436               <dt>
437                 <span class="sect1">
438                   <a href="rq_conf.html">Queue and Recno access method specific configuration</a>
439                 </span>
440               </dt>
441               <dd>
442                 <dl>
443                   <dt>
444                     <span class="sect2">
445                       <a href="rq_conf.html#am_conf_recno">Managing record-based databases</a>
446                     </span>
447                   </dt>
448                   <dt>
449                     <span class="sect2">
450                       <a href="rq_conf.html#am_conf_extentsize">Selecting a Queue extent size</a>
451                     </span>
452                   </dt>
453                   <dt>
454                     <span class="sect2">
455                       <a href="rq_conf.html#am_conf_re_source">Flat-text backing files</a>
456                     </span>
457                   </dt>
458                   <dt>
459                     <span class="sect2">
460                       <a href="rq_conf.html#am_conf_renumber">Logically renumbering records</a>
461                     </span>
462                   </dt>
463                 </dl>
464               </dd>
465             </dl>
466           </dd>
467           <dt>
468             <span class="chapter">
469               <a href="am.html">3. 
470                 Access Method Operations
471         </a>
472             </span>
473           </dt>
474           <dd>
475             <dl>
476               <dt>
477                 <span class="sect1">
478                   <a href="am.html#am_open">Database open</a>
479                 </span>
480               </dt>
481               <dt>
482                 <span class="sect1">
483                   <a href="am_opensub.html">Opening multiple databases in a single file</a>
484                 </span>
485               </dt>
486               <dd>
487                 <dl>
488                   <dt>
489                     <span class="sect2">
490                       <a href="am_opensub.html#idp724392">Configuring databases sharing a file</a>
491                     </span>
492                   </dt>
493                   <dt>
494                     <span class="sect2">
495                       <a href="am_opensub.html#idp768720">Caching databases sharing a file</a>
496                     </span>
497                   </dt>
498                   <dt>
499                     <span class="sect2">
500                       <a href="am_opensub.html#idp769416">Locking in databases based on sharing a file</a>
501                     </span>
502                   </dt>
503                 </dl>
504               </dd>
505               <dt>
506                 <span class="sect1">
507                   <a href="am_partition.html">Partitioning databases</a>
508                 </span>
509               </dt>
510               <dd>
511                 <dl>
512                   <dt>
513                     <span class="sect2">
514                       <a href="am_partition.html#am_partition_keys">Specifying partition keys</a>
515                     </span>
516                   </dt>
517                   <dt>
518                     <span class="sect2">
519                       <a href="am_partition.html#am_partition_function">Partitioning callback</a>
520                     </span>
521                   </dt>
522                   <dt>
523                     <span class="sect2">
524                       <a href="am_partition.html#partition_file_placement">Placing partition files</a>
525                     </span>
526                   </dt>
527                 </dl>
528               </dd>
529               <dt>
530                 <span class="sect1">
531                   <a href="am_get.html">Retrieving records</a>
532                 </span>
533               </dt>
534               <dt>
535                 <span class="sect1">
536                   <a href="am_put.html">Storing records</a>
537                 </span>
538               </dt>
539               <dt>
540                 <span class="sect1">
541                   <a href="am_delete.html">Deleting records</a>
542                 </span>
543               </dt>
544               <dt>
545                 <span class="sect1">
546                   <a href="am_stat.html">Database statistics</a>
547                 </span>
548               </dt>
549               <dt>
550                 <span class="sect1">
551                   <a href="am_truncate.html">Database truncation</a>
552                 </span>
553               </dt>
554               <dt>
555                 <span class="sect1">
556                   <a href="am_upgrade.html">Database upgrade</a>
557                 </span>
558               </dt>
559               <dt>
560                 <span class="sect1">
561                   <a href="am_verify.html">Database verification and salvage</a>
562                 </span>
563               </dt>
564               <dt>
565                 <span class="sect1">
566                   <a href="am_sync.html">Flushing the database cache</a>
567                 </span>
568               </dt>
569               <dt>
570                 <span class="sect1">
571                   <a href="am_close.html">Database close</a>
572                 </span>
573               </dt>
574               <dt>
575                 <span class="sect1">
576                   <a href="am_second.html">Secondary indexes</a>
577                 </span>
578               </dt>
579               <dd>
580                 <dl>
581                   <dt>
582                     <span class="sect2">
583                       <a href="am_second.html#idp863384">Error Handling With Secondary Indexes</a>
584                     </span>
585                   </dt>
586                 </dl>
587               </dd>
588               <dt>
589                 <span class="sect1">
590                   <a href="am_foreign.html">Foreign key indexes</a>
591                 </span>
592               </dt>
593               <dt>
594                 <span class="sect1">
595                   <a href="am_cursor.html">Cursor operations</a>
596                 </span>
597               </dt>
598               <dd>
599                 <dl>
600                   <dt>
601                     <span class="sect2">
602                       <a href="am_cursor.html#am_curget">Retrieving records with a cursor</a>
603                     </span>
604                   </dt>
605                   <dt>
606                     <span class="sect2">
607                       <a href="am_cursor.html#am_curput">Storing records with a cursor</a>
608                     </span>
609                   </dt>
610                   <dt>
611                     <span class="sect2">
612                       <a href="am_cursor.html#am_curdel">Deleting records with a cursor</a>
613                     </span>
614                   </dt>
615                   <dt>
616                     <span class="sect2">
617                       <a href="am_cursor.html#am_curdup">Duplicating a cursor</a>
618                     </span>
619                   </dt>
620                   <dt>
621                     <span class="sect2">
622                       <a href="am_cursor.html#am_join">Equality Join</a>
623                     </span>
624                   </dt>
625                   <dt>
626                     <span class="sect2">
627                       <a href="am_cursor.html#am_count">Data item count</a>
628                     </span>
629                   </dt>
630                   <dt>
631                     <span class="sect2">
632                       <a href="am_cursor.html#am_curclose">Cursor close</a>
633                     </span>
634                   </dt>
635                 </dl>
636               </dd>
637             </dl>
638           </dd>
639           <dt>
640             <span class="chapter">
641               <a href="am_misc.html">4. 
642                 Access Method Wrapup
643         </a>
644             </span>
645           </dt>
646           <dd>
647             <dl>
648               <dt>
649                 <span class="sect1">
650                   <a href="am_misc.html#am_misc_align">Data alignment</a>
651                 </span>
652               </dt>
653               <dt>
654                 <span class="sect1">
655                   <a href="am_misc_bulk.html">Retrieving and updating records in bulk</a>
656                 </span>
657               </dt>
658               <dd>
659                 <dl>
660                   <dt>
661                     <span class="sect2">
662                       <a href="am_misc_bulk.html#am_misc_bulk_get">Bulk retrieval</a>
663                     </span>
664                   </dt>
665                   <dt>
666                     <span class="sect2">
667                       <a href="am_misc_bulk.html#am_misc_bulk_put">Bulk updates</a>
668                     </span>
669                   </dt>
670                   <dt>
671                     <span class="sect2">
672                       <a href="am_misc_bulk.html#am_misc_bulk_del">Bulk deletes</a>
673                     </span>
674                   </dt>
675                 </dl>
676               </dd>
677               <dt>
678                 <span class="sect1">
679                   <a href="am_misc_partial.html">Partial record storage and retrieval</a>
680                 </span>
681               </dt>
682               <dt>
683                 <span class="sect1">
684                   <a href="am_misc_struct.html">Storing C/C++ structures/objects</a>
685                 </span>
686               </dt>
687               <dt>
688                 <span class="sect1">
689                   <a href="am_misc_perm.html">Retrieved key/data permanence for C/C++</a>
690                 </span>
691               </dt>
692               <dt>
693                 <span class="sect1">
694                   <a href="am_misc_error.html">Error support</a>
695                 </span>
696               </dt>
697               <dt>
698                 <span class="sect1">
699                   <a href="am_misc_stability.html">Cursor stability</a>
700                 </span>
701               </dt>
702               <dt>
703                 <span class="sect1">
704                   <a href="am_misc_dbsizes.html">Database limits</a>
705                 </span>
706               </dt>
707               <dt>
708                 <span class="sect1">
709                   <a href="am_misc_diskspace.html">Disk space requirements</a>
710                 </span>
711               </dt>
712               <dd>
713                 <dl>
714                   <dt>
715                     <span class="sect2">
716                       <a href="am_misc_diskspace.html#idp1074008">Btree</a>
717                     </span>
718                   </dt>
719                   <dt>
720                     <span class="sect2">
721                       <a href="am_misc_diskspace.html#idp1074072">Hash</a>
722                     </span>
723                   </dt>
724                 </dl>
725               </dd>
726               <dt>
727                 <span class="sect1">
728                   <a href="am_misc_db_sql.html">Specifying a Berkeley DB schema using SQL DDL</a>
729                 </span>
730               </dt>
731               <dt>
732                 <span class="sect1">
733                   <a href="am_misc_tune.html">Access method tuning</a>
734                 </span>
735               </dt>
736               <dt>
737                 <span class="sect1">
738                   <a href="am_misc_faq.html">Access method FAQ</a>
739                 </span>
740               </dt>
741             </dl>
742           </dd>
743           <dt>
744             <span class="chapter">
745               <a href="java.html">5. 
746                 Java API
747         </a>
748             </span>
749           </dt>
750           <dd>
751             <dl>
752               <dt>
753                 <span class="sect1">
754                   <a href="java.html#java_conf">Java configuration</a>
755                 </span>
756               </dt>
757               <dt>
758                 <span class="sect1">
759                   <a href="java_compat.html">Compatibility</a>
760                 </span>
761               </dt>
762               <dt>
763                 <span class="sect1">
764                   <a href="java_program.html">Java programming notes</a>
765                 </span>
766               </dt>
767               <dt>
768                 <span class="sect1">
769                   <a href="java_faq.html">Java FAQ</a>
770                 </span>
771               </dt>
772             </dl>
773           </dd>
774           <dt>
775             <span class="chapter">
776               <a href="csharp.html">6. C# API</a>
777             </span>
778           </dt>
779           <dd>
780             <dl>
781               <dt>
782                 <span class="sect1">
783                   <a href="csharp.html#csharp_compat">Compatibility</a>
784                 </span>
785               </dt>
786             </dl>
787           </dd>
788           <dt>
789             <span class="chapter">
790               <a href="stl.html">7. Standard Template Library API</a>
791             </span>
792           </dt>
793           <dd>
794             <dl>
795               <dt>
796                 <span class="sect1">
797                   <a href="stl.html#stl_intro">Dbstl introduction</a>
798                 </span>
799               </dt>
800               <dd>
801                 <dl>
802                   <dt>
803                     <span class="sect2">
804                       <a href="stl.html#stl_intro_stdcompat">Standards compatible</a>
805                     </span>
806                   </dt>
807                   <dt>
808                     <span class="sect2">
809                       <a href="stl.html#stl_intro_performance">Performance overhead</a>
810                     </span>
811                   </dt>
812                   <dt>
813                     <span class="sect2">
814                       <a href="stl.html#stl_intro_portability">Portability</a>
815                     </span>
816                   </dt>
817                 </dl>
818               </dd>
819               <dt>
820                 <span class="sect1">
821                   <a href="stl_usecase.html">Dbstl typical use cases</a>
822                 </span>
823               </dt>
824               <dt>
825                 <span class="sect1">
826                   <a href="stl_examples.html">Dbstl examples</a>
827                 </span>
828               </dt>
829               <dt>
830                 <span class="sect1">
831                   <a href="stl_db_usage.html">Berkeley DB configuration</a>
832                 </span>
833               </dt>
834               <dd>
835                 <dl>
836                   <dt>
837                     <span class="sect2">
838                       <a href="stl_db_usage.html#idp1202384">Registering database and environment handles</a>
839                     </span>
840                   </dt>
841                   <dt>
842                     <span class="sect2">
843                       <a href="stl_db_usage.html#idp1225928">Truncate requirements</a>
844                     </span>
845                   </dt>
846                   <dt>
847                     <span class="sect2">
848                       <a href="stl_db_usage.html#idp1236168">Auto commit support</a>
849                     </span>
850                   </dt>
851                   <dt>
852                     <span class="sect2">
853                       <a href="stl_db_usage.html#idp1239792">Database and environment identity checks</a>
854                     </span>
855                   </dt>
856                   <dt>
857                     <span class="sect2">
858                       <a href="stl_db_usage.html#idp1236512">Products, constructors and configurations</a>
859                     </span>
860                   </dt>
861                 </dl>
862               </dd>
863               <dt>
864                 <span class="sect1">
865                   <a href="stl_db_advanced_usage.html">Using advanced Berkeley DB features with dbstl</a>
866                 </span>
867               </dt>
868               <dd>
869                 <dl>
870                   <dt>
871                     <span class="sect2">
872                       <a href="stl_db_advanced_usage.html#idp1232296">Using bulk retrieval iterators</a>
873                     </span>
874                   </dt>
875                   <dt>
876                     <span class="sect2">
877                       <a href="stl_db_advanced_usage.html#idp1232520">Using the DB_RMW flag</a>
878                     </span>
879                   </dt>
880                   <dt>
881                     <span class="sect2">
882                       <a href="stl_db_advanced_usage.html#idp1199288">Using secondary index database and secondary containers</a>
883                     </span>
884                   </dt>
885                 </dl>
886               </dd>
887               <dt>
888                 <span class="sect1">
889                   <a href="stl_txn_usage.html">Using transactions in dbstl</a>
890                 </span>
891               </dt>
892               <dt>
893                 <span class="sect1">
894                   <a href="stl_mt_usage.html">Using dbstl in multithreaded applications</a>
895                 </span>
896               </dt>
897               <dt>
898                 <span class="sect1">
899                   <a href="stl_primitive_rw.html">Working with primitive types </a>
900                 </span>
901               </dt>
902               <dd>
903                 <dl>
904                   <dt>
905                     <span class="sect2">
906                       <a href="stl_primitive_rw.html#idp1288424">Storing strings</a>
907                     </span>
908                   </dt>
909                 </dl>
910               </dd>
911               <dt>
912                 <span class="sect1">
913                   <a href="stl_complex_rw.html">Store and Retrieve data or objects of complex types </a>
914                 </span>
915               </dt>
916               <dd>
917                 <dl>
918                   <dt>
919                     <span class="sect2">
920                       <a href="stl_complex_rw.html#idp1279008">Storing varying length objects</a>
921                     </span>
922                   </dt>
923                   <dt>
924                     <span class="sect2">
925                       <a href="stl_complex_rw.html#idp1278616">Storing arbitrary sequences</a>
926                     </span>
927                   </dt>
928                   <dt>
929                     <span class="sect2">
930                       <a href="stl_complex_rw.html#idp1344912">Notes</a>
931                     </span>
932                   </dt>
933                 </dl>
934               </dd>
935               <dt>
936                 <span class="sect1">
937                   <a href="stl_persistence.html">Dbstl persistence</a>
938                 </span>
939               </dt>
940               <dd>
941                 <dl>
942                   <dt>
943                     <span class="sect2">
944                       <a href="stl_persistence.html#directdbget">Direct database get</a>
945                     </span>
946                   </dt>
947                   <dt>
948                     <span class="sect2">
949                       <a href="stl_persistence.html#chg_persistence">Change persistence</a>
950                     </span>
951                   </dt>
952                   <dt>
953                     <span class="sect2">
954                       <a href="stl_persistence.html#obj_life_persistence">Object life time and persistence </a>
955                     </span>
956                   </dt>
957                 </dl>
958               </dd>
959               <dt>
960                 <span class="sect1">
961                   <a href="stl_container_specific.html">Dbstl container specific notes</a>
962                 </span>
963               </dt>
964               <dd>
965                 <dl>
966                   <dt>
967                     <span class="sect2">
968                       <a href="stl_container_specific.html#idp1313840">db_vector specific notes</a>
969                     </span>
970                   </dt>
971                   <dt>
972                     <span class="sect2">
973                       <a href="stl_container_specific.html#idp1381768">Associative container specific notes</a>
974                     </span>
975                   </dt>
976                 </dl>
977               </dd>
978               <dt>
979                 <span class="sect1">
980                   <a href="stl_efficienct_use.html">Using dbstl efficiently</a>
981                 </span>
982               </dt>
983               <dd>
984                 <dl>
985                   <dt>
986                     <span class="sect2">
987                       <a href="stl_efficienct_use.html#idp1350664">Using iterators efficiently</a>
988                     </span>
989                   </dt>
990                   <dt>
991                     <span class="sect2">
992                       <a href="stl_efficienct_use.html#idp1350448">Using containers efficiently</a>
993                     </span>
994                   </dt>
995                 </dl>
996               </dd>
997               <dt>
998                 <span class="sect1">
999                   <a href="stl_memory_mgmt.html">Dbstl memory management</a>
1000                 </span>
1001               </dt>
1002               <dd>
1003                 <dl>
1004                   <dt>
1005                     <span class="sect2">
1006                       <a href="stl_memory_mgmt.html#idp1384984">Freeing memory</a>
1007                     </span>
1008                   </dt>
1009                   <dt>
1010                     <span class="sect2">
1011                       <a href="stl_memory_mgmt.html#idp1389512">Type specific notes</a>
1012                     </span>
1013                   </dt>
1014                 </dl>
1015               </dd>
1016               <dt>
1017                 <span class="sect1">
1018                   <a href="stl_misc.html">Dbstl miscellaneous notes</a>
1019                 </span>
1020               </dt>
1021               <dd>
1022                 <dl>
1023                   <dt>
1024                     <span class="sect2">
1025                       <a href="stl_misc.html#idp1407848">Special notes about trivial methods</a>
1026                     </span>
1027                   </dt>
1028                   <dt>
1029                     <span class="sect2">
1030                       <a href="stl_misc.html#idp1421568">Using correct container and iterator public types</a>
1031                     </span>
1032                   </dt>
1033                 </dl>
1034               </dd>
1035               <dt>
1036                 <span class="sect1">
1037                   <a href="stl_known_issues.html">Dbstl known issues</a>
1038                 </span>
1039               </dt>
1040             </dl>
1041           </dd>
1042           <dt>
1043             <span class="chapter">
1044               <a href="arch.html">8. 
1045                 Berkeley DB Architecture
1046         </a>
1047             </span>
1048           </dt>
1049           <dd>
1050             <dl>
1051               <dt>
1052                 <span class="sect1">
1053                   <a href="arch.html#arch_bigpic">The big picture</a>
1054                 </span>
1055               </dt>
1056               <dt>
1057                 <span class="sect1">
1058                   <a href="arch_progmodel.html">Programming model</a>
1059                 </span>
1060               </dt>
1061               <dt>
1062                 <span class="sect1">
1063                   <a href="arch_apis.html">Programmatic APIs</a>
1064                 </span>
1065               </dt>
1066               <dd>
1067                 <dl>
1068                   <dt>
1069                     <span class="sect2">
1070                       <a href="arch_apis.html#idp1156848">C</a>
1071                     </span>
1072                   </dt>
1073                   <dt>
1074                     <span class="sect2">
1075                       <a href="arch_apis.html#idp1467704">C++</a>
1076                     </span>
1077                   </dt>
1078                   <dt>
1079                     <span class="sect2">
1080                       <a href="arch_apis.html#idp1468224">STL</a>
1081                     </span>
1082                   </dt>
1083                   <dt>
1084                     <span class="sect2">
1085                       <a href="arch_apis.html#idp1467768">Java</a>
1086                     </span>
1087                   </dt>
1088                   <dt>
1089                     <span class="sect2">
1090                       <a href="arch_apis.html#idp1485576">Dbm/Ndbm, Hsearch</a>
1091                     </span>
1092                   </dt>
1093                 </dl>
1094               </dd>
1095               <dt>
1096                 <span class="sect1">
1097                   <a href="arch_script.html">Scripting languages</a>
1098                 </span>
1099               </dt>
1100               <dd>
1101                 <dl>
1102                   <dt>
1103                     <span class="sect2">
1104                       <a href="arch_script.html#idp1461432">Perl</a>
1105                     </span>
1106                   </dt>
1107                   <dt>
1108                     <span class="sect2">
1109                       <a href="arch_script.html#idp1460536">PHP</a>
1110                     </span>
1111                   </dt>
1112                   <dt>
1113                     <span class="sect2">
1114                       <a href="arch_script.html#idp1477280">Tcl</a>
1115                     </span>
1116                   </dt>
1117                 </dl>
1118               </dd>
1119               <dt>
1120                 <span class="sect1">
1121                   <a href="arch_utilities.html">Supporting utilities</a>
1122                 </span>
1123               </dt>
1124             </dl>
1125           </dd>
1126           <dt>
1127             <span class="chapter">
1128               <a href="env.html">9. 
1129                 The Berkeley DB Environment
1130         </a>
1131             </span>
1132           </dt>
1133           <dd>
1134             <dl>
1135               <dt>
1136                 <span class="sect1">
1137                   <a href="env.html#env_intro">Database environment introduction</a>
1138                 </span>
1139               </dt>
1140               <dt>
1141                 <span class="sect1">
1142                   <a href="env_create.html">Creating a database environment</a>
1143                 </span>
1144               </dt>
1145               <dt>
1146                 <span class="sect1">
1147                   <a href="env_size.html">Sizing a database environment</a>
1148                 </span>
1149               </dt>
1150               <dt>
1151                 <span class="sect1">
1152                   <a href="env_open.html">Opening databases within the environment</a>
1153                 </span>
1154               </dt>
1155               <dt>
1156                 <span class="sect1">
1157                   <a href="env_error.html">Error support</a>
1158                 </span>
1159               </dt>
1160               <dt>
1161                 <span class="sect1">
1162                   <a href="env_db_config.html">DB_CONFIG configuration file</a>
1163                 </span>
1164               </dt>
1165               <dt>
1166                 <span class="sect1">
1167                   <a href="env_naming.html">File naming</a>
1168                 </span>
1169               </dt>
1170               <dd>
1171                 <dl>
1172                   <dt>
1173                     <span class="sect2">
1174                       <a href="env_naming.html#idp1570112">Specifying file naming to Berkeley DB</a>
1175                     </span>
1176                   </dt>
1177                   <dt>
1178                     <span class="sect2">
1179                       <a href="env_naming.html#idp1584200">Filename resolution in Berkeley DB</a>
1180                     </span>
1181                   </dt>
1182                   <dt>
1183                     <span class="sect2">
1184                       <a href="env_naming.html#idp1605872">Examples</a>
1185                     </span>
1186                   </dt>
1187                 </dl>
1188               </dd>
1189               <dt>
1190                 <span class="sect1">
1191                   <a href="env_region.html">Shared memory regions</a>
1192                 </span>
1193               </dt>
1194               <dt>
1195                 <span class="sect1">
1196                   <a href="env_security.html">Security</a>
1197                 </span>
1198               </dt>
1199               <dt>
1200                 <span class="sect1">
1201                   <a href="env_encrypt.html">Encryption</a>
1202                 </span>
1203               </dt>
1204               <dt>
1205                 <span class="sect1">
1206                   <a href="env_remote.html">Remote filesystems</a>
1207                 </span>
1208               </dt>
1209               <dt>
1210                 <span class="sect1">
1211                   <a href="env_faq.html">Environment FAQ</a>
1212                 </span>
1213               </dt>
1214             </dl>
1215           </dd>
1216           <dt>
1217             <span class="chapter">
1218               <a href="cam.html">10. 
1219                 Berkeley DB Concurrent Data Store Applications
1220         </a>
1221             </span>
1222           </dt>
1223           <dd>
1224             <dl>
1225               <dt>
1226                 <span class="sect1">
1227                   <a href="cam.html#cam_intro">Concurrent Data Store introduction</a>
1228                 </span>
1229               </dt>
1230               <dt>
1231                 <span class="sect1">
1232                   <a href="cam_fail.html">Handling failure in Data Store and Concurrent Data Store applications</a>
1233                 </span>
1234               </dt>
1235               <dt>
1236                 <span class="sect1">
1237                   <a href="cam_app.html">Architecting Data Store and Concurrent Data Store applications</a>
1238                 </span>
1239               </dt>
1240             </dl>
1241           </dd>
1242           <dt>
1243             <span class="chapter">
1244               <a href="transapp.html">11. 
1245                 Berkeley DB Transactional Data Store Applications
1246         </a>
1247             </span>
1248           </dt>
1249           <dd>
1250             <dl>
1251               <dt>
1252                 <span class="sect1">
1253                   <a href="transapp.html#transapp_intro">Transactional Data Store introduction</a>
1254                 </span>
1255               </dt>
1256               <dt>
1257                 <span class="sect1">
1258                   <a href="transapp_why.html">Why transactions?</a>
1259                 </span>
1260               </dt>
1261               <dt>
1262                 <span class="sect1">
1263                   <a href="transapp_term.html">Terminology</a>
1264                 </span>
1265               </dt>
1266               <dt>
1267                 <span class="sect1">
1268                   <a href="transapp_fail.html">Handling failure in Transactional Data Store applications</a>
1269                 </span>
1270               </dt>
1271               <dt>
1272                 <span class="sect1">
1273                   <a href="transapp_app.html">Architecting Transactional Data Store applications</a>
1274                 </span>
1275               </dt>
1276               <dt>
1277                 <span class="sect1">
1278                   <a href="transapp_env_open.html">Opening the environment</a>
1279                 </span>
1280               </dt>
1281               <dt>
1282                 <span class="sect1">
1283                   <a href="transapp_data_open.html">Opening the databases</a>
1284                 </span>
1285               </dt>
1286               <dt>
1287                 <span class="sect1">
1288                   <a href="transapp_put.html">Recoverability and deadlock handling</a>
1289                 </span>
1290               </dt>
1291               <dt>
1292                 <span class="sect1">
1293                   <a href="transapp_atomicity.html">Atomicity</a>
1294                 </span>
1295               </dt>
1296               <dt>
1297                 <span class="sect1">
1298                   <a href="transapp_inc.html">Isolation</a>
1299                 </span>
1300               </dt>
1301               <dt>
1302                 <span class="sect1">
1303                   <a href="transapp_read.html">Degrees of isolation</a>
1304                 </span>
1305               </dt>
1306               <dd>
1307                 <dl>
1308                   <dt>
1309                     <span class="sect2">
1310                       <a href="transapp_read.html#snapshot_isolation">Snapshot Isolation</a>
1311                     </span>
1312                   </dt>
1313                 </dl>
1314               </dd>
1315               <dt>
1316                 <span class="sect1">
1317                   <a href="transapp_cursor.html">Transactional cursors</a>
1318                 </span>
1319               </dt>
1320               <dt>
1321                 <span class="sect1">
1322                   <a href="transapp_nested.html">Nested transactions</a>
1323                 </span>
1324               </dt>
1325               <dt>
1326                 <span class="sect1">
1327                   <a href="transapp_admin.html">Environment infrastructure</a>
1328                 </span>
1329               </dt>
1330               <dt>
1331                 <span class="sect1">
1332                   <a href="transapp_deadlock.html">Deadlock detection</a>
1333                 </span>
1334               </dt>
1335               <dt>
1336                 <span class="sect1">
1337                   <a href="transapp_checkpoint.html">Checkpoints</a>
1338                 </span>
1339               </dt>
1340               <dt>
1341                 <span class="sect1">
1342                   <a href="transapp_archival.html">Database and log file archival</a>
1343                 </span>
1344               </dt>
1345               <dt>
1346                 <span class="sect1">
1347                   <a href="transapp_logfile.html">Log file removal</a>
1348                 </span>
1349               </dt>
1350               <dt>
1351                 <span class="sect1">
1352                   <a href="transapp_recovery.html">Recovery procedures</a>
1353                 </span>
1354               </dt>
1355               <dt>
1356                 <span class="sect1">
1357                   <a href="transapp_hotfail.html">Hot failover</a>
1358                 </span>
1359               </dt>
1360               <dt>
1361                 <span class="sect1">
1362                   <a href="transapp_journal.html">Using Recovery on Journaling Filesystems</a>
1363                 </span>
1364               </dt>
1365               <dt>
1366                 <span class="sect1">
1367                   <a href="transapp_filesys.html">Recovery and filesystem operations</a>
1368                 </span>
1369               </dt>
1370               <dt>
1371                 <span class="sect1">
1372                   <a href="transapp_reclimit.html">Berkeley DB recoverability</a>
1373                 </span>
1374               </dt>
1375               <dt>
1376                 <span class="sect1">
1377                   <a href="transapp_tune.html">Transaction tuning</a>
1378                 </span>
1379               </dt>
1380               <dt>
1381                 <span class="sect1">
1382                   <a href="transapp_throughput.html">Transaction throughput</a>
1383                 </span>
1384               </dt>
1385               <dt>
1386                 <span class="sect1">
1387                   <a href="transapp_faq.html">Transaction FAQ</a>
1388                 </span>
1389               </dt>
1390             </dl>
1391           </dd>
1392           <dt>
1393             <span class="chapter">
1394               <a href="rep.html">12. 
1395                 Berkeley DB Replication
1396         </a>
1397             </span>
1398           </dt>
1399           <dd>
1400             <dl>
1401               <dt>
1402                 <span class="sect1">
1403                   <a href="rep.html#rep_intro">Replication introduction</a>
1404                 </span>
1405               </dt>
1406               <dt>
1407                 <span class="sect1">
1408                   <a href="rep_id.html">Replication environment IDs</a>
1409                 </span>
1410               </dt>
1411               <dt>
1412                 <span class="sect1">
1413                   <a href="rep_pri.html">Replication environment priorities</a>
1414                 </span>
1415               </dt>
1416               <dt>
1417                 <span class="sect1">
1418                   <a href="rep_app.html">Building replicated applications</a>
1419                 </span>
1420               </dt>
1421               <dt>
1422                 <span class="sect1">
1423                   <a href="rep_mgr_meth.html">Replication Manager methods</a>
1424                 </span>
1425               </dt>
1426               <dt>
1427                 <span class="sect1">
1428                   <a href="rep_base_meth.html">Base API Methods</a>
1429                 </span>
1430               </dt>
1431               <dt>
1432                 <span class="sect1">
1433                   <a href="rep_comm.html">Building the communications infrastructure</a>
1434                 </span>
1435               </dt>
1436               <dt>
1437                 <span class="sect1">
1438                   <a href="rep_newsite.html">Connecting to a new site</a>
1439                 </span>
1440               </dt>
1441               <dt>
1442                 <span class="sect1">
1443                   <a href="group_membership.html">Managing Replication Manager Group Membership</a>
1444                 </span>
1445               </dt>
1446               <dd>
1447                 <dl>
1448                   <dt>
1449                     <span class="sect2">
1450                       <a href="group_membership.html#group_mem_add">Adding Sites to a Replication Group</a>
1451                     </span>
1452                   </dt>
1453                   <dt>
1454                     <span class="sect2">
1455                       <a href="group_membership.html#group_mem_remove">Removing Sites from a Replication Group</a>
1456                     </span>
1457                   </dt>
1458                   <dt>
1459                     <span class="sect2">
1460                       <a href="group_membership.html#group_mem_primordialstartup">Primordial Startups</a>
1461                     </span>
1462                   </dt>
1463                   <dt>
1464                     <span class="sect2">
1465                       <a href="group_membership.html#group_mem_upgrade">Upgrading Groups</a>
1466                     </span>
1467                   </dt>
1468                 </dl>
1469               </dd>
1470               <dt>
1471                 <span class="sect1">
1472                   <a href="rep_filename.html">Managing Replication Files</a>
1473                 </span>
1474               </dt>
1475               <dt>
1476                 <span class="sect1">
1477                   <a href="rep_mgrmulti.html">Running Replication Manager in multiple processes</a>
1478                 </span>
1479               </dt>
1480               <dd>
1481                 <dl>
1482                   <dt>
1483                     <span class="sect2">
1484                       <a href="rep_mgrmulti.html#idp2239216">One replication process and multiple subordinate processes</a>
1485                     </span>
1486                   </dt>
1487                   <dt>
1488                     <span class="sect2">
1489                       <a href="rep_mgrmulti.html#idp2202400">Persistence of local site network address configuration</a>
1490                     </span>
1491                   </dt>
1492                   <dt>
1493                     <span class="sect2">
1494                       <a href="rep_mgrmulti.html#idp2221464">Programming considerations</a>
1495                     </span>
1496                   </dt>
1497                   <dt>
1498                     <span class="sect2">
1499                       <a href="rep_mgrmulti.html#idp2233184">Handling failure</a>
1500                     </span>
1501                   </dt>
1502                   <dt>
1503                     <span class="sect2">
1504                       <a href="rep_mgrmulti.html#idp2233360">Other miscellaneous rules</a>
1505                     </span>
1506                   </dt>
1507                 </dl>
1508               </dd>
1509               <dt>
1510                 <span class="sect1">
1511                   <a href="rep_replicate.html">Running Replication using the db_replicate Utility</a>
1512                 </span>
1513               </dt>
1514               <dd>
1515                 <dl>
1516                   <dt>
1517                     <span class="sect2">
1518                       <a href="rep_replicate.html#idp2251336">One Replication Process and Multiple Subordinate Processes</a>
1519                     </span>
1520                   </dt>
1521                   <dt>
1522                     <span class="sect2">
1523                       <a href="rep_replicate.html#idp2268704">Common Use Case</a>
1524                     </span>
1525                   </dt>
1526                   <dt>
1527                     <span class="sect2">
1528                       <a href="rep_replicate.html#idp2278848">Avoiding Rollback</a>
1529                     </span>
1530                   </dt>
1531                   <dt>
1532                     <span class="sect2">
1533                       <a href="rep_replicate.html#idp2283896">When to Consider an Integrated HA Application</a>
1534                     </span>
1535                   </dt>
1536                 </dl>
1537               </dd>
1538               <dt>
1539                 <span class="sect1">
1540                   <a href="rep_mgr_ack.html">Choosing a Replication Manager Ack Policy</a>
1541                 </span>
1542               </dt>
1543               <dt>
1544                 <span class="sect1">
1545                   <a href="rep_elect.html">Elections</a>
1546                 </span>
1547               </dt>
1548               <dt>
1549                 <span class="sect1">
1550                   <a href="rep_mastersync.html">Synchronizing with a master</a>
1551                 </span>
1552               </dt>
1553               <dd>
1554                 <dl>
1555                   <dt>
1556                     <span class="sect2">
1557                       <a href="rep_mastersync.html#rep_delay_sync">Delaying client synchronization</a>
1558                     </span>
1559                   </dt>
1560                   <dt>
1561                     <span class="sect2">
1562                       <a href="rep_mastersync.html#rep_c2c_sync">Client-to-client synchronization</a>
1563                     </span>
1564                   </dt>
1565                   <dt>
1566                     <span class="sect2">
1567                       <a href="rep_mastersync.html#idp2309616">Blocked client operations</a>
1568                     </span>
1569                   </dt>
1570                   <dt>
1571                     <span class="sect2">
1572                       <a href="rep_mastersync.html#idp2331664">Clients too far out-of-date to synchronize</a>
1573                     </span>
1574                   </dt>
1575                 </dl>
1576               </dd>
1577               <dt>
1578                 <span class="sect1">
1579                   <a href="rep_init.html">Initializing a new site</a>
1580                 </span>
1581               </dt>
1582               <dt>
1583                 <span class="sect1">
1584                   <a href="rep_bulk.html">Bulk transfer</a>
1585                 </span>
1586               </dt>
1587               <dt>
1588                 <span class="sect1">
1589                   <a href="rep_trans.html">Transactional guarantees</a>
1590                 </span>
1591               </dt>
1592               <dt>
1593                 <span class="sect1">
1594                   <a href="rep_lease.html">Master Leases</a>
1595                 </span>
1596               </dt>
1597               <dd>
1598                 <dl>
1599                   <dt>
1600                     <span class="sect2">
1601                       <a href="rep_lease.html#masterlease_change_groupsize">Changing Group Size</a>
1602                     </span>
1603                   </dt>
1604                 </dl>
1605               </dd>
1606               <dt>
1607                 <span class="sect1">
1608                   <a href="rep_ryw.html">Read your writes consistency</a>
1609                 </span>
1610               </dt>
1611               <dd>
1612                 <dl>
1613                   <dt>
1614                     <span class="sect2">
1615                       <a href="rep_ryw.html#gettoken">Getting a token</a>
1616                     </span>
1617                   </dt>
1618                   <dt>
1619                     <span class="sect2">
1620                       <a href="rep_ryw.html#tokenhandling">Token handling</a>
1621                     </span>
1622                   </dt>
1623                   <dt>
1624                     <span class="sect2">
1625                       <a href="rep_ryw.html#usingtoken">Using a token to check or wait for a transaction</a>
1626                     </span>
1627                   </dt>
1628                 </dl>
1629               </dd>
1630               <dt>
1631                 <span class="sect1">
1632                   <a href="rep_clock_skew.html">Clock Skew</a>
1633                 </span>
1634               </dt>
1635               <dt>
1636                 <span class="sect1">
1637                   <a href="repmgr_channels.html">Using Replication Manager message channels</a>
1638                 </span>
1639               </dt>
1640               <dd>
1641                 <dl>
1642                   <dt>
1643                     <span class="sect2">
1644                       <a href="repmgr_channels.html#dbchannel_class">DB_CHANNEL</a>
1645                     </span>
1646                   </dt>
1647                   <dt>
1648                     <span class="sect2">
1649                       <a href="repmgr_channels.html#dbchannel_send">Sending messages over a message channel</a>
1650                     </span>
1651                   </dt>
1652                   <dt>
1653                     <span class="sect2">
1654                       <a href="repmgr_channels.html#dbchannel_receive">Receiving messages</a>
1655                     </span>
1656                   </dt>
1657                 </dl>
1658               </dd>
1659               <dt>
1660                 <span class="sect1">
1661                   <a href="rep_twosite.html">Special considerations for two-site replication groups</a>
1662                 </span>
1663               </dt>
1664               <dt>
1665                 <span class="sect1">
1666                   <a href="rep_partition.html">Network partitions</a>
1667                 </span>
1668               </dt>
1669               <dt>
1670                 <span class="sect1">
1671                   <a href="rep_faq.html">Replication FAQ</a>
1672                 </span>
1673               </dt>
1674               <dt>
1675                 <span class="sect1">
1676                   <a href="rep_ex.html">Ex_rep: a replication example</a>
1677                 </span>
1678               </dt>
1679               <dt>
1680                 <span class="sect1">
1681                   <a href="rep_ex_comm.html">Ex_rep_base: a TCP/IP based communication infrastructure</a>
1682                 </span>
1683               </dt>
1684               <dt>
1685                 <span class="sect1">
1686                   <a href="rep_ex_rq.html">Ex_rep_base: putting it all together</a>
1687                 </span>
1688               </dt>
1689               <dt>
1690                 <span class="sect1">
1691                   <a href="rep_ex_chan.html">Ex_rep_chan: a Replication Manager
1692 channel example</a>
1693                 </span>
1694               </dt>
1695             </dl>
1696           </dd>
1697           <dt>
1698             <span class="chapter">
1699               <a href="xa.html">13. 
1700                 Distributed Transactions
1701         </a>
1702             </span>
1703           </dt>
1704           <dd>
1705             <dl>
1706               <dt>
1707                 <span class="sect1">
1708                   <a href="xa.html#xa_intro">Introduction</a>
1709                 </span>
1710               </dt>
1711               <dt>
1712                 <span class="sect1">
1713                   <a href="ch13s02.html">Berkeley DB XA Implementation</a>
1714                 </span>
1715               </dt>
1716               <dt>
1717                 <span class="sect1">
1718                   <a href="xa_build.html">Building a Global Transaction Manager</a>
1719                 </span>
1720               </dt>
1721               <dd>
1722                 <dl>
1723                   <dt>
1724                     <span class="sect2">
1725                       <a href="xa_build.html#idp2599152">Communicating with multiple Berkeley DB environments</a>
1726                     </span>
1727                   </dt>
1728                   <dt>
1729                     <span class="sect2">
1730                       <a href="xa_build.html#idp2600096">Recovering from GTM failure</a>
1731                     </span>
1732                   </dt>
1733                   <dt>
1734                     <span class="sect2">
1735                       <a href="xa_build.html#idp2584512">Managing the Global Transaction ID (GID) name space</a>
1736                     </span>
1737                   </dt>
1738                   <dt>
1739                     <span class="sect2">
1740                       <a href="xa_build.html#idp2523640">Maintaining state for each distributed transaction.</a>
1741                     </span>
1742                   </dt>
1743                   <dt>
1744                     <span class="sect2">
1745                       <a href="xa_build.html#idp2597672">Recovering from the failure of a single environment</a>
1746                     </span>
1747                   </dt>
1748                   <dt>
1749                     <span class="sect2">
1750                       <a href="xa_build.html#idp2600560">Recovering from GTM failure</a>
1751                     </span>
1752                   </dt>
1753                 </dl>
1754               </dd>
1755               <dt>
1756                 <span class="sect1">
1757                   <a href="xa_xa_intro.html">XA Introduction</a>
1758                 </span>
1759               </dt>
1760               <dt>
1761                 <span class="sect1">
1762                   <a href="xa_xa_config.html">Configuring Berkeley DB with the Tuxedo System</a>
1763                 </span>
1764               </dt>
1765               <dd>
1766                 <dl>
1767                   <dt>
1768                     <span class="sect2">
1769                       <a href="xa_xa_config.html#idp2607440">Update the Resource Manager File in Tuxedo</a>
1770                     </span>
1771                   </dt>
1772                   <dt>
1773                     <span class="sect2">
1774                       <a href="xa_xa_config.html#idp2633056">Build the Transaction Manager Server</a>
1775                     </span>
1776                   </dt>
1777                   <dt>
1778                     <span class="sect2">
1779                       <a href="xa_xa_config.html#idp2580168">Update the UBBCONFIG File</a>
1780                     </span>
1781                   </dt>
1782                 </dl>
1783               </dd>
1784               <dt>
1785                 <span class="sect1">
1786                   <a href="xa_xa_restrict.html">Restrictions on XA Transactions</a>
1787                 </span>
1788               </dt>
1789               <dt>
1790                 <span class="sect1">
1791                   <a href="xa_faq.html">XA: Frequently Asked Questions</a>
1792                 </span>
1793               </dt>
1794             </dl>
1795           </dd>
1796           <dt>
1797             <span class="chapter">
1798               <a href="apprec.html">14. 
1799                 Application Specific Logging and Recovery
1800         </a>
1801             </span>
1802           </dt>
1803           <dd>
1804             <dl>
1805               <dt>
1806                 <span class="sect1">
1807                   <a href="apprec.html#apprec_intro">Introduction to application specific logging and recovery</a>
1808                 </span>
1809               </dt>
1810               <dt>
1811                 <span class="sect1">
1812                   <a href="apprec_def.html">Defining application-specific log records</a>
1813                 </span>
1814               </dt>
1815               <dt>
1816                 <span class="sect1">
1817                   <a href="apprec_auto.html">Automatically generated functions</a>
1818                 </span>
1819               </dt>
1820               <dt>
1821                 <span class="sect1">
1822                   <a href="apprec_config.html">Application configuration</a>
1823                 </span>
1824               </dt>
1825             </dl>
1826           </dd>
1827           <dt>
1828             <span class="chapter">
1829               <a href="program.html">15. 
1830                 Programmer Notes
1831         </a>
1832             </span>
1833           </dt>
1834           <dd>
1835             <dl>
1836               <dt>
1837                 <span class="sect1">
1838                   <a href="program.html#program_appsignals">Signal handling</a>
1839                 </span>
1840               </dt>
1841               <dt>
1842                 <span class="sect1">
1843                   <a href="program_errorret.html">Error returns to applications</a>
1844                 </span>
1845               </dt>
1846               <dt>
1847                 <span class="sect1">
1848                   <a href="program_environ.html">Environment variables</a>
1849                 </span>
1850               </dt>
1851               <dt>
1852                 <span class="sect1">
1853                   <a href="program_mt.html">Multithreaded applications</a>
1854                 </span>
1855               </dt>
1856               <dt>
1857                 <span class="sect1">
1858                   <a href="program_scope.html">Berkeley DB handles</a>
1859                 </span>
1860               </dt>
1861               <dt>
1862                 <span class="sect1">
1863                   <a href="program_namespace.html">Name spaces</a>
1864                 </span>
1865               </dt>
1866               <dd>
1867                 <dl>
1868                   <dt>
1869                     <span class="sect2">
1870                       <a href="program_namespace.html#idp2805992">C Language Name Space</a>
1871                     </span>
1872                   </dt>
1873                   <dt>
1874                     <span class="sect2">
1875                       <a href="program_namespace.html#idp2778712">Filesystem Name Space</a>
1876                     </span>
1877                   </dt>
1878                 </dl>
1879               </dd>
1880               <dt>
1881                 <span class="sect1">
1882                   <a href="program_ram.html">Memory-only or Flash configurations</a>
1883                 </span>
1884               </dt>
1885               <dt>
1886                 <span class="sect1">
1887                   <a href="program_cache.html">Disk drive caches</a>
1888                 </span>
1889               </dt>
1890               <dt>
1891                 <span class="sect1">
1892                   <a href="program_copy.html">Copying or moving databases</a>
1893                 </span>
1894               </dt>
1895               <dt>
1896                 <span class="sect1">
1897                   <a href="program_compatible.html">Compatibility with historic UNIX interfaces</a>
1898                 </span>
1899               </dt>
1900               <dt>
1901                 <span class="sect1">
1902                   <a href="program_runtime.html">Run-time configuration</a>
1903                 </span>
1904               </dt>
1905               <dt>
1906                 <span class="sect1">
1907                   <a href="program_perfmon.html">Performance Event Monitoring</a>
1908                 </span>
1909               </dt>
1910               <dd>
1911                 <dl>
1912                   <dt>
1913                     <span class="sect2">
1914                       <a href="program_perfmon.html#program_perfmon_dtrace">Using the DTrace Provider</a>
1915                     </span>
1916                   </dt>
1917                   <dt>
1918                     <span class="sect2">
1919                       <a href="program_perfmon.html#program_perfmon_stap">Using SystemTap</a>
1920                     </span>
1921                   </dt>
1922                   <dt>
1923                     <span class="sect2">
1924                       <a href="program_perfmon.html#program_perfmon_examples">Example Scripts</a>
1925                     </span>
1926                   </dt>
1927                   <dt>
1928                     <span class="sect2">
1929                       <a href="program_perfmon.html#program_perfmon_probes">Performance Events Reference</a>
1930                     </span>
1931                   </dt>
1932                 </dl>
1933               </dd>
1934               <dt>
1935                 <span class="sect1">
1936                   <a href="program_faq.html">Programmer notes FAQ</a>
1937                 </span>
1938               </dt>
1939             </dl>
1940           </dd>
1941           <dt>
1942             <span class="chapter">
1943               <a href="lock.html">16. 
1944                 The Locking Subsystem
1945         </a>
1946             </span>
1947           </dt>
1948           <dd>
1949             <dl>
1950               <dt>
1951                 <span class="sect1">
1952                   <a href="lock.html#lock_intro">Introduction to the locking subsystem</a>
1953                 </span>
1954               </dt>
1955               <dt>
1956                 <span class="sect1">
1957                   <a href="lock_config.html">Configuring locking</a>
1958                 </span>
1959               </dt>
1960               <dt>
1961                 <span class="sect1">
1962                   <a href="lock_max.html">Configuring locking: sizing the system</a>
1963                 </span>
1964               </dt>
1965               <dt>
1966                 <span class="sect1">
1967                   <a href="lock_stdmode.html">Standard lock modes</a>
1968                 </span>
1969               </dt>
1970               <dt>
1971                 <span class="sect1">
1972                   <a href="lock_dead.html">Deadlock detection</a>
1973                 </span>
1974               </dt>
1975               <dt>
1976                 <span class="sect1">
1977                   <a href="lock_timeout.html">Deadlock detection using timers</a>
1978                 </span>
1979               </dt>
1980               <dt>
1981                 <span class="sect1">
1982                   <a href="lock_deaddbg.html">Deadlock debugging</a>
1983                 </span>
1984               </dt>
1985               <dt>
1986                 <span class="sect1">
1987                   <a href="lock_page.html">Locking granularity</a>
1988                 </span>
1989               </dt>
1990               <dt>
1991                 <span class="sect1">
1992                   <a href="lock_notxn.html">Locking without transactions</a>
1993                 </span>
1994               </dt>
1995               <dt>
1996                 <span class="sect1">
1997                   <a href="lock_twopl.html">Locking with transactions: two-phase locking</a>
1998                 </span>
1999               </dt>
2000               <dt>
2001                 <span class="sect1">
2002                   <a href="lock_cam_conv.html">Berkeley DB Concurrent Data Store locking conventions</a>
2003                 </span>
2004               </dt>
2005               <dt>
2006                 <span class="sect1">
2007                   <a href="lock_am_conv.html">Berkeley DB Transactional Data Store locking conventions</a>
2008                 </span>
2009               </dt>
2010               <dt>
2011                 <span class="sect1">
2012                   <a href="lock_nondb.html">Locking and non-Berkeley DB applications</a>
2013                 </span>
2014               </dt>
2015             </dl>
2016           </dd>
2017           <dt>
2018             <span class="chapter">
2019               <a href="log.html">17. 
2020                 The Logging Subsystem
2021         </a>
2022             </span>
2023           </dt>
2024           <dd>
2025             <dl>
2026               <dt>
2027                 <span class="sect1">
2028                   <a href="log.html#log_intro">Introduction to the logging subsystem</a>
2029                 </span>
2030               </dt>
2031               <dt>
2032                 <span class="sect1">
2033                   <a href="log_config.html">Configuring logging</a>
2034                 </span>
2035               </dt>
2036               <dt>
2037                 <span class="sect1">
2038                   <a href="log_limits.html">Log file limits</a>
2039                 </span>
2040               </dt>
2041             </dl>
2042           </dd>
2043           <dt>
2044             <span class="chapter">
2045               <a href="mp.html">18. 
2046                 The Memory Pool Subsystem
2047         </a>
2048             </span>
2049           </dt>
2050           <dd>
2051             <dl>
2052               <dt>
2053                 <span class="sect1">
2054                   <a href="mp.html#mp_intro">Introduction to the memory pool subsystem</a>
2055                 </span>
2056               </dt>
2057               <dt>
2058                 <span class="sect1">
2059                   <a href="mp_config.html">Configuring the memory pool</a>
2060                 </span>
2061               </dt>
2062               <dt>
2063                 <span class="sect1">
2064                   <a href="mp_warm.html">Warming the memory pool</a>
2065                 </span>
2066               </dt>
2067               <dd>
2068                 <dl>
2069                   <dt>
2070                     <span class="sect2">
2071                       <a href="mp_warm.html#warm_cache">The warm_cache() function</a>
2072                     </span>
2073                   </dt>
2074                 </dl>
2075               </dd>
2076             </dl>
2077           </dd>
2078           <dt>
2079             <span class="chapter">
2080               <a href="txn.html">19. 
2081                 The Transaction Subsystem
2082         </a>
2083             </span>
2084           </dt>
2085           <dd>
2086             <dl>
2087               <dt>
2088                 <span class="sect1">
2089                   <a href="txn.html#txn_intro">Introduction to the transaction subsystem</a>
2090                 </span>
2091               </dt>
2092               <dt>
2093                 <span class="sect1">
2094                   <a href="txn_config.html">Configuring transactions</a>
2095                 </span>
2096               </dt>
2097               <dt>
2098                 <span class="sect1">
2099                   <a href="txn_limits.html">Transaction limits</a>
2100                 </span>
2101               </dt>
2102               <dd>
2103                 <dl>
2104                   <dt>
2105                     <span class="sect2">
2106                       <a href="txn_limits.html#idp3173248">Transaction IDs</a>
2107                     </span>
2108                   </dt>
2109                   <dt>
2110                     <span class="sect2">
2111                       <a href="txn_limits.html#idp3049928">Cursors</a>
2112                     </span>
2113                   </dt>
2114                   <dt>
2115                     <span class="sect2">
2116                       <a href="txn_limits.html#idp3082656">Multiple Threads of Control</a>
2117                     </span>
2118                   </dt>
2119                 </dl>
2120               </dd>
2121             </dl>
2122           </dd>
2123           <dt>
2124             <span class="chapter">
2125               <a href="sequence.html">20. 
2126                 Sequences
2127         </a>
2128             </span>
2129           </dt>
2130           <dt>
2131             <span class="chapter">
2132               <a href="tcl.html">21. 
2133                 Berkeley DB Extensions: Tcl
2134         </a>
2135             </span>
2136           </dt>
2137           <dd>
2138             <dl>
2139               <dt>
2140                 <span class="sect1">
2141                   <a href="tcl.html#tcl_intro">Loading Berkeley DB with Tcl</a>
2142                 </span>
2143               </dt>
2144               <dd>
2145                 <dl>
2146                   <dt>
2147                     <span class="sect2">
2148                       <a href="tcl.html#idp3187200">Installing as a Tcl Package</a>
2149                     </span>
2150                   </dt>
2151                   <dt>
2152                     <span class="sect2">
2153                       <a href="tcl.html#idp3177840">Loading Berkeley DB with Tcl</a>
2154                     </span>
2155                   </dt>
2156                 </dl>
2157               </dd>
2158               <dt>
2159                 <span class="sect1">
2160                   <a href="tcl_using.html">Using Berkeley DB with Tcl</a>
2161                 </span>
2162               </dt>
2163               <dt>
2164                 <span class="sect1">
2165                   <a href="tcl_program.html">Tcl API programming notes</a>
2166                 </span>
2167               </dt>
2168               <dt>
2169                 <span class="sect1">
2170                   <a href="tcl_error.html">Tcl error handling</a>
2171                 </span>
2172               </dt>
2173               <dt>
2174                 <span class="sect1">
2175                   <a href="tcl_faq.html">Tcl FAQ</a>
2176                 </span>
2177               </dt>
2178             </dl>
2179           </dd>
2180           <dt>
2181             <span class="chapter">
2182               <a href="ext.html">22. 
2183                 Berkeley DB Extensions
2184         </a>
2185             </span>
2186           </dt>
2187           <dd>
2188             <dl>
2189               <dt>
2190                 <span class="sect1">
2191                   <a href="ext.html#ext_mod">Using Berkeley DB with Apache</a>
2192                 </span>
2193               </dt>
2194               <dt>
2195                 <span class="sect1">
2196                   <a href="ext_perl.html">Using Berkeley DB with Perl</a>
2197                 </span>
2198               </dt>
2199               <dt>
2200                 <span class="sect1">
2201                   <a href="ext_php.html">Using Berkeley DB with PHP</a>
2202                 </span>
2203               </dt>
2204             </dl>
2205           </dd>
2206           <dt>
2207             <span class="chapter">
2208               <a href="dumpload.html">23. 
2209                 Dumping and Reloading Databases
2210         </a>
2211             </span>
2212           </dt>
2213           <dd>
2214             <dl>
2215               <dt>
2216                 <span class="sect1">
2217                   <a href="dumpload.html#dumpload_utility">The db_dump and db_load utilities</a>
2218                 </span>
2219               </dt>
2220               <dt>
2221                 <span class="sect1">
2222                   <a href="dumpload_format.html">Dump output formats</a>
2223                 </span>
2224               </dt>
2225               <dt>
2226                 <span class="sect1">
2227                   <a href="dumpload_text.html">Loading text into databases</a>
2228                 </span>
2229               </dt>
2230             </dl>
2231           </dd>
2232           <dt>
2233             <span class="chapter">
2234               <a href="refs.html">24. 
2235                 Additional References
2236         </a>
2237             </span>
2238           </dt>
2239           <dd>
2240             <dl>
2241               <dt>
2242                 <span class="sect1">
2243                   <a href="refs.html#refs_refs">Additional references</a>
2244                 </span>
2245               </dt>
2246               <dd>
2247                 <dl>
2248                   <dt>
2249                     <span class="sect2">
2250                       <a href="refs.html#idp3221064">Technical Papers on Berkeley DB</a>
2251                     </span>
2252                   </dt>
2253                   <dt>
2254                     <span class="sect2">
2255                       <a href="refs.html#idp3270728">Background on Berkeley DB Features</a>
2256                     </span>
2257                   </dt>
2258                   <dt>
2259                     <span class="sect2">
2260                       <a href="refs.html#idp3264824">Database Systems Theory</a>
2261                     </span>
2262                   </dt>
2263                 </dl>
2264               </dd>
2265             </dl>
2266           </dd>
2267         </dl>
2268       </div>
2269     </div>
2270     <div class="navfooter">
2271       <hr />
2272       <table width="100%" summary="Navigation footer">
2273         <tr>
2274           <td width="40%" align="left"> </td>
2275           <td width="20%" align="center"> </td>
2276           <td width="40%" align="right"> <a accesskey="n" href="preface.html">Next</a></td>
2277         </tr>
2278         <tr>
2279           <td width="40%" align="left" valign="top"> </td>
2280           <td width="20%" align="center"> </td>
2281           <td width="40%" align="right" valign="top"> Preface</td>
2282         </tr>
2283       </table>
2284     </div>
2285   </body>
2286 </html>