1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
|
<!--Id: reftoc.html,v 10.186 2001/04/26 20:59:15 bostic Exp -->
<html>
<head>
<title>Berkeley DB Tutorial and Reference Guide (Version: 3.3.4)</title>
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
<meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++">
</head>
<body bgcolor=white>
<center>
<h1>Berkeley DB Tutorial and Reference Guide (Version: 3.3.4)</h1>
</center>
<ol>
<font size="+1"><li><a name="intro">Introduction</a></font>
<ol>
<li><a href="ref/intro/data.html">An introduction to data management</a>
<li><a href="ref/intro/terrain.html">Mapping the terrain: theory and practice</a>
<li><a href="ref/intro/dbis.html">What is Berkeley DB?</a>
<li><a href="ref/intro/dbisnot.html">What is Berkeley DB not?</a>
<li><a href="ref/intro/need.html">Do you need Berkeley DB?</a>
<li><a href="ref/intro/what.html">What other services does Berkeley DB provide?</a>
<li><a href="ref/intro/distrib.html">What does the Berkeley DB distribution include?</a>
<li><a href="ref/intro/where.html">Where does Berkeley DB run?</a>
<li><a href="ref/intro/products.html">Sleepycat Software's Berkeley DB products</a>
</ol>
<font size="+1"><li><a name="simple_tut">A Simple Access Method Tutorial</a></font>
<ol>
<li><a href="ref/simple_tut/intro.html">Introduction</a>
<li><a href="ref/simple_tut/keydata.html">Key/data pairs</a>
<li><a href="ref/simple_tut/handles.html">Object handles</a>
<li><a href="ref/simple_tut/errors.html">Error returns</a>
<li><a href="ref/simple_tut/open.html">Opening a database</a>
<li><a href="ref/simple_tut/put.html">Adding elements to a database</a>
<li><a href="ref/simple_tut/get.html">Retrieving elements from a database</a>
<li><a href="ref/simple_tut/del.html">Removing elements from a database</a>
<li><a href="ref/simple_tut/close.html">Closing a database</a>
</ol>
<font size="+1"><li><a name="am_conf">Access Method Configuration</a></font>
<ol>
<li><a href="ref/am_conf/intro.html">What are the available access methods?</a>
<li><a href="ref/am_conf/select.html">Selecting an access method</a>
<li><a href="ref/am_conf/logrec.html">Logical record numbers</a>
<li>General access method configuration
<ol>
<li><a href="ref/am_conf/pagesize.html">Selecting a page size</a>
<li><a href="ref/am_conf/cachesize.html">Selecting a cache size</a>
<li><a href="ref/am_conf/byteorder.html">Selecting a byte order</a>
<li><a href="ref/am_conf/dup.html">Duplicate data items</a>
<li><a href="ref/am_conf/malloc.html">Non-local memory allocation</a>
</ol>
<li>Btree access method specific configuration
<ol>
<li><a href="ref/am_conf/bt_compare.html">Btree comparison</a>
<li><a href="ref/am_conf/bt_prefix.html">Btree prefix comparison</a>
<li><a href="ref/am_conf/bt_minkey.html">Minimum keys per page</a>
<li><a href="ref/am_conf/bt_recnum.html">
Retrieving Btree records by logical record number</a>
</ol>
<li>Hash access method specific configuration
<ol>
<li><a href="ref/am_conf/h_ffactor.html">Page fill factor</a>
<li><a href="ref/am_conf/h_hash.html">Specifying a database hash</a>
<li><a href="ref/am_conf/h_nelem.html">Hash table size</a>
</ol>
<li>Queue and Recno access method specific configuration
<ol>
<li><a href="ref/am_conf/recno.html">Managing record-based databases</a>
<li><a href="ref/am_conf/extentsize.html">Selecting a Queue extent size</a>
<li><a href="ref/am_conf/re_source.html">Flat-text backing files</a>
<li><a href="ref/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="ref/am/ops.html">Access method operations</a>
<li><a href="ref/am/open.html">Database open</a>
<li><a href="ref/am/opensub.html">Opening multiple databases in a single file</a>
<li><a href="ref/am/get.html">Retrieving records</a>
<li><a href="ref/am/put.html">Storing records</a>
<li><a href="ref/am/delete.html">Deleting records</a>
<li><a href="ref/am/stat.html">Database statistics</a>
<li><a href="ref/am/truncate.html">Database truncation</a>
<li><a href="ref/am/upgrade.html">Database upgrade</a>
<li><a href="ref/am/verify.html">Database verification and salvage</a>
<li><a href="ref/am/sync.html">Flushing the database cache</a>
<li><a href="ref/am/close.html">Database close</a>
<li><a href="ref/am/second.html">Secondary indices</a>
<li><a href="ref/am/cursor.html">Cursor operations</a>
<ol>
<li><a href="ref/am/curget.html">Retrieving records with a cursor</a>
<li><a href="ref/am/curput.html">Storing records with a cursor</a>
<li><a href="ref/am/curdel.html">Deleting records with a cursor</a>
<li><a href="ref/am/curdup.html">Duplicating a cursor</a>
<li><a href="ref/am/join.html">Logical join</a>
<li><a href="ref/am/count.html">Data item count</a>
<li><a href="ref/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="ref/am_misc/align.html">Data alignment</a>
<li><a href="ref/am_misc/partial.html">Partial record storage and retrieval</a>
<li><a href="ref/am_misc/perm.html">Retrieved key/data permanence for C/C++</a>
<li><a href="ref/am_misc/error.html">Error support</a>
<li><a href="ref/am_misc/stability.html">Cursor stability</a>
<li><a href="ref/am_misc/dbsizes.html">Database limits</a>
<li><a href="ref/am_misc/diskspace.html">Disk space requirements</a>
<li><a href="ref/am_misc/tune.html">Access method tuning</a>
<li><a href="ref/am_misc/faq.html">Access method FAQ</a>
</ol>
<font size="+1"><li><a name="arch">Berkeley DB Architecture</a></font>
<ol>
<li><a href="ref/arch/bigpic.html">The big picture</a>
<li><a href="ref/arch/progmodel.html">Programming model</a>
<li><a href="ref/arch/apis.html">Programmatic APIs</a>
<li><a href="ref/arch/script.html">Scripting languages</a>
<li><a href="ref/arch/utilities.html">Supporting utilities</a>
</ol>
<font size="+1"><li><a name="env">The Berkeley DB Environment</a></font>
<ol>
<li><a href="ref/env/intro.html">Introduction</a>
<li><a href="ref/env/create.html">Creating a database environment</a>
<li><a href="ref/env/naming.html">File naming</a>
<li><a href="ref/env/security.html">Security</a>
<li><a href="ref/env/region.html">Shared memory regions</a>
<li><a href="ref/env/remote.html">Remote filesystems</a>
<li><a href="ref/env/open.html">Opening databases within the environment</a>
<li><a href="ref/env/error.html">Error support</a>
<li><a href="ref/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="ref/cam/intro.html">Berkeley DB 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="ref/transapp/intro.html">Berkeley DB Transactional Data Store applications</a>
<li><a href="ref/transapp/why.html">Why transactions?</a>
<li><a href="ref/transapp/term.html">Terminology</a>
<li><a href="ref/transapp/app.html">Application structure</a>
<li><a href="ref/transapp/env_open.html">Opening the environment</a>
<li><a href="ref/transapp/data_open.html">Opening the databases</a>
<li><a href="ref/transapp/put.html">Recoverability and deadlock avoidance</a>
<li><a href="ref/transapp/inc.html">Atomicity</a>
<li><a href="ref/transapp/read.html">Repeatable reads</a>
<li><a href="ref/transapp/cursor.html">Transactional cursors</a>
<li><a href="ref/transapp/nested.html">Nested transactions</a>
<li><a href="ref/transapp/admin.html">Environment infrastructure</a>
<li><a href="ref/transapp/deadlock.html">Deadlock detection</a>
<li><a href="ref/transapp/checkpoint.html">Checkpoints</a>
<li><a href="ref/transapp/archival.html">Database and log file archival</a>
<li><a href="ref/transapp/logfile.html">Log file removal</a>
<li><a href="ref/transapp/recovery.html">Recovery procedures</a>
<li><a href="ref/transapp/filesys.html">Recovery and filesystem operations</a>
<li><a href="ref/transapp/reclimit.html">Berkeley DB recoverability</a>
<li><a href="ref/transapp/tune.html">Transaction tuning</a>
<li><a href="ref/transapp/throughput.html">Transaction throughput</a>
</ol>
<font size="+1"><li><a name="xa">Distributed Transactions</a></font>
<ol>
<li><a href="ref/xa/intro.html">Introduction</a>
<li><a href="ref/xa/build.html">Building a Global Transaction Manager</a>
<li><a href="ref/xa/xa_intro.html">XA Introduction</a>
<li><a href="ref/xa/xa_config.html">Configuring Berkeley DB with the Tuxedo System</a>
<li><a href="ref/xa/faq.html">Frequently Asked Questions</a>
</ol>
<font size="+1"><li><a name="program">Programmer Notes</a></font>
<ol>
<li><a href="ref/program/appsignals.html">Application signal handling</a>
<li><a href="ref/program/errorret.html">Error returns to applications</a>
<li><a href="ref/program/environ.html">Environmental variables</a>
<li><a href="ref/program/mt.html">Multithreaded applications</a>
<li><a href="ref/program/scope.html">Berkeley DB handles</a>
<li><a href="ref/program/namespace.html">Name spaces</a>
<li><a href="ref/program/copy.html">Copying databases</a>
<li><a href="ref/program/version.html">Library version information</a>
<li><a href="ref/program/compatible.html">Compatibility with historic UNIX interfaces</a>
<li><a href="ref/program/recimp.html">Recovery implementation</a>
<li><a href="ref/program/extending.html">Application-specific logging and recovery</a>
<li><a href="ref/program/runtime.html">Run-time configuration</a>
</ol>
<font size="+1"><li><a name="lock">The Locking Subsystem</a></font>
<ol>
<li><a href="ref/lock/intro.html">Berkeley DB and locking</a>
<li><a href="ref/lock/page.html">Page locks</a>
<ol>
<li><a href="ref/lock/stdmode.html">Standard lock modes</a>
<li><a href="ref/lock/notxn.html">Locking without transactions</a>
<li><a href="ref/lock/twopl.html">Locking with transactions: two-phase locking</a>
</ol>
<li><a href="ref/lock/am_conv.html">Access method locking conventions</a>
<li><a href="ref/lock/cam_conv.html">Berkeley DB Concurrent Data Store locking conventions</a>
<li><a href="ref/lock/dead.html">Deadlocks and deadlock avoidance</a>
<li><a href="ref/lock/config.html">Configuring locking</a>
<li><a href="ref/lock/max.html">Configuring locking: sizing the system</a>
<li><a href="ref/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="ref/log/intro.html">Berkeley DB and logging</a>
<li><a href="ref/log/config.html">Configuring logging</a>
<li><a href="ref/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="ref/mp/intro.html">Berkeley DB and the memory pool</a>
<li><a href="ref/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="ref/txn/intro.html">Berkeley DB and transactions</a>
<li><a href="ref/txn/limits.html">Transaction limits</a>
<li><a href="ref/txn/config.html">Configuring transactions</a>
<li><a href="ref/txn/other.html">Transactions and non-Berkeley DB applications</a>
</ol>
<font size="+1"><li><a name="rpc">RPC Client/Server</a></font>
<ol>
<li><a href="ref/rpc/intro.html">Introduction</a>
<li><a href="ref/rpc/client.html">Client program</a>
<li><a href="ref/rpc/server.html">Server program</a>
</ol>
<font size="+1"><li><a name="java">Java API</a></font>
<ol>
<li><a href="ref/java/conf.html">Configuration</a>
<li><a href="ref/java/compat.html">Compatibility</a>
<li><a href="ref/java/program.html">Java programming notes</a>
<li><a href="ref/java/faq.html">Java FAQ</a>
</ol>
<font size="+1"><li><a name="perl">Perl API</a></font>
<ol>
<li><a href="ref/perl/intro.html">Using Berkeley DB with Perl</a>
</ol>
<font size="+1"><li><a name="tcl">Tcl API</a></font>
<ol>
<li><a href="ref/tcl/intro.html">Loading Berkeley DB with Tcl</a>
<li><a href="ref/tcl/using.html">Using Berkeley DB with Tcl</a>
<li><a href="ref/tcl/program.html">Tcl API programming notes</a>
<li><a href="ref/tcl/error.html">Tcl error handling</a>
<li><a href="ref/tcl/faq.html">Tcl FAQ</a>
</ol>
<font size="+1"><li><a name="sendmail">Sendmail</a></font>
<ol>
<li><a href="ref/sendmail/intro.html">Using Berkeley DB with Sendmail</a>
</ol>
<font size="+1"><li><a name="dumpload">Dumping and Reloading Databases</a></font>
<ol>
<li><a href="ref/dumpload/utility.html">The db_dump and db_load utilities</a>
<li><a href="ref/dumpload/format.html">Dump output formats</a>
<li><a href="ref/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="ref/install/file.html">File utility /etc/magic information</a>
<li><a href="ref/install/multiple.html">Building with multiple versions of Berkeley DB</a>
<li><a href="ref/install/rpm.html">Building RPM distribution packages</a>
</ol>
<font size="+1"><li><a name="debug">Debugging Applications</a></font>
<ol>
<li><a href="ref/debug/intro.html">Introduction</a>
<li><a href="ref/debug/compile.html">Compile-time configuration</a>
<li><a href="ref/debug/runtime.html">Run-time error information</a>
<li><a href="ref/debug/printlog.html">Reviewing Berkeley DB log files</a>
<li><a href="ref/debug/common.html">Common errors</a>
</ol>
<font size="+1"><li><a name="build_unix">Berkeley DB for UNIX and QNX systems</a></font>
<ol>
<li><a href="ref/build_unix/intro.html">Building for UNIX</a>
<li><a href="ref/build_unix/conf.html">Configuring Berkeley DB</a>
<li><a href="ref/build_unix/flags.html">Changing compile or load options</a>
<li><a href="ref/build_unix/install.html">Installing Berkeley DB</a>
<li><a href="ref/build_unix/shlib.html">Dynamic shared libraries</a>
<li><a href="ref/build_unix/test.html">Running the test suite under UNIX</a>
<li><a href="ref/build_unix/notes.html">Architecture independent FAQ</a>
<li>Architecture specific FAQs
<ol>
<li><a href="ref/build_unix/aix.html">AIX</a>
<li><a href="ref/build_unix/embedix.html">Embedix</a>
<li><a href="ref/build_unix/freebsd.html">FreeBSD</a>
<li><a href="ref/build_unix/hpux.html">HP-UX</a>
<li><a href="ref/build_unix/irix.html">IRIX</a>
<li><a href="ref/build_unix/linux.html">Linux</a>
<li><a href="ref/build_unix/osf1.html">OSF/1</a>
<li><a href="ref/build_unix/qnx.html">QNX</a>
<li><a href="ref/build_unix/sco.html">SCO</a>
<li><a href="ref/build_unix/solaris.html">Solaris</a>
<li><a href="ref/build_unix/sunos.html">SunOS</a>
<li><a href="ref/build_unix/ultrix.html">Ultrix</a>
</ol>
</ol>
<font size="+1"><li><a name="build_win">Berkeley DB for Win32 platforms</a></font>
<ol>
<li><a href="ref/build_win/intro.html">Building for Win32</a>
<li><a href="ref/build_win/test.html">Running the test suite under Windows</a>
<li><a href="ref/build_win/notes.html">Windows notes</a>
<li><a href="ref/build_win/faq.html">Windows FAQ</a>
</ol>
<font size="+1"><li><a name="build_vxworks">Berkeley DB for VxWorks systems</a></font>
<ol>
<li><a href="ref/build_vxworks/intro.html">Building for VxWorks</a>
<li><a href="ref/build_vxworks/notes.html">VxWorks notes</a>
<li><a href="ref/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="ref/upgrade/process.html">
Upgrading Berkeley DB installations</a>
<li><a href="ref/upgrade.2.0/toc.html">
Upgrading Berkeley DB 1.XX applications to Berkeley DB 2.0</a>
<li><a href="ref/upgrade.3.0/toc.html">
Upgrading Berkeley DB 2.X.X applications to Berkeley DB 3.0</a>
<li><a href="ref/upgrade.3.1/toc.html">
Upgrading Berkeley DB 3.0.X applications to Berkeley DB 3.1</a>
<li><a href="ref/upgrade.3.2/toc.html">
Upgrading Berkeley DB 3.1.X applications to Berkeley DB 3.2</a>
<li><a href="ref/upgrade.3.3/toc.html">
Upgrading Berkeley DB 3.2.X applications to Berkeley DB 3.3</a>
</ol>
<font size="+1"><li><a name="test">Test Suite</a></font>
<ol>
<li><a href="ref/test/run.html">Running the test suite</a>
<li><a href="ref/test/faq.html">Test suite FAQ</a>
</ol>
<font size="+1"><li><a name="distrib">Distribution</a></font>
<ol>
<li><a href="ref/distrib/layout.html">Source code layout</a>
</ol>
<font size="+1"><li><a name="refs">Additional References</a></font>
<ol>
<li><a href="ref/refs/refs.html">Additional references</a>
</ol>
</ol>
</body>
</html>
|