summaryrefslogtreecommitdiff
path: root/bdb/docs/ref/arch
diff options
context:
space:
mode:
Diffstat (limited to 'bdb/docs/ref/arch')
-rw-r--r--bdb/docs/ref/arch/apis.html74
-rw-r--r--bdb/docs/ref/arch/bigpic.gifbin2589 -> 0 bytes
-rw-r--r--bdb/docs/ref/arch/bigpic.html114
-rw-r--r--bdb/docs/ref/arch/progmodel.html41
-rw-r--r--bdb/docs/ref/arch/script.html29
-rw-r--r--bdb/docs/ref/arch/smallpic.gifbin1613 -> 0 bytes
-rw-r--r--bdb/docs/ref/arch/utilities.html62
7 files changed, 0 insertions, 320 deletions
diff --git a/bdb/docs/ref/arch/apis.html b/bdb/docs/ref/arch/apis.html
deleted file mode 100644
index d1ae91b5a74..00000000000
--- a/bdb/docs/ref/arch/apis.html
+++ /dev/null
@@ -1,74 +0,0 @@
-<!--$Id: apis.so,v 10.26 2000/03/18 21:43:09 bostic Exp $-->
-<!--Copyright 1997, 1998, 1999, 2000 by Sleepycat Software, Inc.-->
-<!--All rights reserved.-->
-<html>
-<head>
-<title>Berkeley DB Reference Guide: Programmatic APIs</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>
- <a name="2"><!--meow--></a>
-<table><tr valign=top>
-<td><h3><dl><dt>Berkeley DB Reference Guide:<dd>Architecture</dl></h3></td>
-<td width="1%"><a href="../../ref/arch/progmodel.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../../ref/toc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../../ref/arch/script.html"><img src="../../images/next.gif" alt="Next"></a>
-</td></tr></table>
-<p>
-<h1 align=center>Programmatic APIs</h1>
-<p>The Berkeley DB subsystems can be accessed through interfaces from multiple
-languages. The standard library interface is ANSI C. Applications can
-also use Berkeley DB via C++ or Java, as well as from scripting languages.
-Environments can be shared among applications written using any of theses
-APIs. For example, you might have a local server written in C or C++, a
-script for an administrator written in Perl or Tcl, and a web based user
-interface written in Java, all sharing a single database environment.
-<h3>C</h3>
-<p>The Berkeley DB library is written entirely in ANSI C. C applications use a
-single include file:
-<p><blockquote><pre>#include &lt;db.h&gt;</pre></blockquote>
-<h3>C++</h3>
-<p>The C++ classes provide a thin wrapper around the C API, with the major
-advantages being improved encapsulation and an optional exception
-mechanism for errors. C++ applications use a single include file:
-<p><blockquote><pre>#include &lt;db_cxx.h&gt;</pre></blockquote>
-<p>The classes and methods are named in a fashion that directly corresponds
-to structures and functions in the C interface. Likewise, arguments to
-methods appear in the same order as the C interface, except to remove the
-explicit <b>this</b> pointer. The #defines used for flags are identical
-between the C and C++ interfaces.
-<p>As a rule, each C++ object has exactly one structure from the underlying
-C API associated with it. The C structure is allocated with each
-constructor call and deallocated with each destructor call. Thus, the
-rules the user needs to follow in allocating and deallocating structures
-are the same between the C and C++ interfaces.
-<p>To ensure portability to many platforms, both new and old, Berkeley DB makes as
-few assumptions as possible about the C++ compiler and library. For
-example, it does not expect STL, templates or namespaces to be available.
-The newest C++ feature used is exceptions, which are used liberally to
-transmit error information. Even the use of exceptions can be disabled
-at runtime.
-<h3>JAVA</h3>
-<p>The Java classes provide a layer around the C API that is almost identical
-to the C++ layer. The classes and methods are, for the most part
-identical to the C++ layer. Db constants and #defines are represented as
-"static final int" values. Error conditions are communicated as Java
-exceptions.
-<p>As in C++, each Java object has exactly one structure from the underlying
-C API associated with it. The Java structure is allocated with each
-constructor or open call, but is deallocated only by the Java garbage
-collector. Because the timing of garbage collection is not predictable,
-applications should take care to do a close when finished with any object
-that has a close method.
-<h3>Dbm/Ndbm, Hsearch</h3>
-<p>Berkeley DB supports the standard UNIX interfaces <a href="../../api_c/dbm.html">dbm</a> (or its
-<a href="../../api_c/dbm.html">ndbm</a> variant) and <a href="../../api_c/hsearch.html">hsearch</a>. After including a new header
-file and recompiling, <a href="../../api_c/dbm.html">dbm</a> programs will run orders of magnitude
-faster and their underlying databases can grow as large as necessary.
-Historic <a href="../../api_c/dbm.html">dbm</a> applications fail when some number of entries were
-inserted into the database, where the number depends on the effectiveness
-of the hashing function on the particular data set.
-<table><tr><td><br></td><td width="1%"><a href="../../ref/arch/progmodel.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../../ref/toc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../../ref/arch/script.html"><img src="../../images/next.gif" alt="Next"></a>
-</td></tr></table>
-<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>
-</body>
-</html>
diff --git a/bdb/docs/ref/arch/bigpic.gif b/bdb/docs/ref/arch/bigpic.gif
deleted file mode 100644
index 48c52aed5a2..00000000000
--- a/bdb/docs/ref/arch/bigpic.gif
+++ /dev/null
Binary files differ
diff --git a/bdb/docs/ref/arch/bigpic.html b/bdb/docs/ref/arch/bigpic.html
deleted file mode 100644
index 6c945744e83..00000000000
--- a/bdb/docs/ref/arch/bigpic.html
+++ /dev/null
@@ -1,114 +0,0 @@
-<!--$Id: bigpic.so,v 8.21 2000/12/18 21:05:14 bostic Exp $-->
-<!--Copyright 1997, 1998, 1999, 2000 by Sleepycat Software, Inc.-->
-<!--All rights reserved.-->
-<html>
-<head>
-<title>Berkeley DB Reference Guide: The big picture</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>
-<table><tr valign=top>
-<td><h3><dl><dt>Berkeley DB Reference Guide:<dd>Architecture</dl></h3></td>
-<td width="1%"><a href="../../ref/am/error.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../../ref/toc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../../ref/arch/progmodel.html"><img src="../../images/next.gif" alt="Next"></a>
-</td></tr></table>
-<p>
-<h1 align=center>The big picture</h1>
-<p>The previous chapters in this Reference Guide have described applications
-that use the Berkeley DB Access Methods for fast data storage and retrieval.
-The applications we describe here and in subsequent chapters are similar
-in nature to the Access Method applications, but they are also fully
-recoverable in the face of application or system failure.
-<p>Application code that only uses the Berkeley DB Access Methods might appear as
-follows:
-<p><blockquote><pre>switch (ret = dbp-&gt;put(dbp, NULL, &key, &data, 0)) {
-case 0:
- printf("db: %s: key stored.\n", (char *)key.data);
- break;
-default:
- dbp-&gt;err(dbp, ret, "dbp-&gt;put");
- exit (1);
-}</pre></blockquote>
-<p>The underlying Berkeley DB architecture that supports this is:
-<p align=center><img src="smallpic.gif" alt="small">
-<p>As you can see from this diagram, the application makes calls into the
-Access Methods, and the Access Methods use the underlying shared memory
-buffer cache to hold recently used file pages in main memory.
-<p>When applications require recoverability, then their calls to the Access
-Methods must be wrapped in calls to the transaction subsystem. The
-application must inform Berkeley DB where to begin and end transactions, and
-must be prepared for the possibility that an operation may fail at any
-particular time, causing the transaction to abort.
-<p>An example of transaction protected code might appear as follows:
-<p><blockquote><pre>retry: if ((ret = txn_begin(dbenv, NULL, &tid)) != 0) {
- dbenv-&gt;err(dbenv, ret, "txn_begin");
- exit (1);
- }
-<p>
- switch (ret = dbp-&gt;put(dbp, tid, &key, &data, 0)) {
- case DB_LOCK_DEADLOCK:
- (void)txn_abort(tid);
- goto retry;
- case 0:
- printf("db: %s: key stored.\n", (char *)key.data);
- break;
- default:
- dbenv-&gt;err(dbenv, ret, "dbp-&gt;put");
- exit (1);
- }
-<p>
- if ((ret = txn_commit(tid)) != 0) {
- dbenv-&gt;err(dbenv, ret, "txn_commit");
- exit (1);
- }</pre></blockquote>
-<p>In this example, the same operation is being done as before, however, it
-is wrapped in transaction calls. The transaction is started with
-<a href="../../api_c/txn_begin.html">txn_begin</a>, and finished with <a href="../../api_c/txn_commit.html">txn_commit</a>. If the operation
-fails due to a deadlock, then the transaction is aborted using
-<a href="../../api_c/txn_abort.html">txn_abort</a>, after which the operation may be retried.
-<p>There are actually five major subsystems in Berkeley DB, as follows:
-<p><dl compact>
-<p><dt>The Access Methods<dd>The Access Method subsystem provides general-purpose support for creating
-and accessing database files formatted as Btrees, Hashed files, and
-Fixed- and Variable-length records. These modules are useful in the
-absence of transactions for applications that need fast, formatted file
-support. See <a href="../../api_c/db_open.html">DB-&gt;open</a> and <a href="../../api_c/db_cursor.html">DB-&gt;cursor</a> for more
-information. These functions were already discussed in detail in the
-previous chapters.
-<p><dt>The Memory Pool<dd>The memory pool subsystem is the general-purpose shared memory buffer pool
-used by Berkeley DB. This is the shared memory cache that allows multiple
-processes and threads within processes to share access to databases. This
-module is useful outside of the Berkeley DB package for processes that require
-portable, page-oriented, cached, shared file access.
-<p><dt>Transactions<dd>The transaction subsystem allows a group of database changes to be
-treated as an atomic unit so that either all of the changes are done, or
-none of the changes are done. The transaction subsystem implements the
-Berkeley DB transaction model. This module is useful outside of the Berkeley DB
-package for processes that want to transaction protect their own data
-modifications.
-<p><dt>Locking<dd>The locking subsystem is the general-purpose lock manager used by Berkeley DB.
-This module is useful outside of the Berkeley DB package for processes that
-require a portable, fast, configurable lock manager.
-<p><dt>Logging<dd>The logging subsystem is the write-ahead logging used to support the Berkeley DB
-transaction model. It is largely specific to the Berkeley DB package, and
-unlikely to be useful elsewhere except as a supporting module for the
-Berkeley DB transaction subsystem.
-</dl>
-<p>Here is a more complete picture of the Berkeley DB library:
-<p align=center><img src="bigpic.gif" alt="large">
-<p>In this example, the application makes calls to the Access Methods and to
-the transaction subsystem. The Access Methods and transaction subsystem
-in turn make calls into the Buffer Pool, Locking and Logging subsystems
-on behalf of the application.
-<p>While the underlying subsystems can each be called independently. For
-example, the Buffer Pool subsystem can be used apart from the rest of
-Berkeley DB by applications simply wanting a shared memory buffer pool, or
-the Locking subsystem may be called directly by applications that are
-doing their own locking outside of Berkeley DB. However, this usage is fairly
-rare, and most applications will either use only the Access Methods, or
-the Access Methods wrapped in calls to the transaction interfaces.
-<table><tr><td><br></td><td width="1%"><a href="../../ref/am/error.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../../ref/toc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../../ref/arch/progmodel.html"><img src="../../images/next.gif" alt="Next"></a>
-</td></tr></table>
-<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>
-</body>
-</html>
diff --git a/bdb/docs/ref/arch/progmodel.html b/bdb/docs/ref/arch/progmodel.html
deleted file mode 100644
index 04284f4f37e..00000000000
--- a/bdb/docs/ref/arch/progmodel.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<!--$Id: progmodel.so,v 10.25 2000/03/18 21:43:09 bostic Exp $-->
-<!--Copyright 1997, 1998, 1999, 2000 by Sleepycat Software, Inc.-->
-<!--All rights reserved.-->
-<html>
-<head>
-<title>Berkeley DB Reference Guide: Programming model</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>
-<table><tr valign=top>
-<td><h3><dl><dt>Berkeley DB Reference Guide:<dd>Architecture</dl></h3></td>
-<td width="1%"><a href="../../ref/arch/bigpic.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../../ref/toc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../../ref/arch/apis.html"><img src="../../images/next.gif" alt="Next"></a>
-</td></tr></table>
-<p>
-<h1 align=center>Programming model</h1>
-<p>The Berkeley DB distribution is a database library, where the library is linked
-into the address space of the code which uses it. The code using Berkeley DB
-may be an application or it may be a server providing functionality to a
-number of clients via some form of inter-process or remote-process
-communication (IPC/RPC).
-<p>In the application model, one or more applications link the Berkeley DB library
-directly into their address spaces. There may be many threads of control
-in this model, as Berkeley DB supports locking for both multiple processes and
-for multiple threads within a process. This model provides significantly
-faster access to the database functionality, but implies trust among all
-threads of control sharing the database environment as they will have the
-ability to read, write and potentially corrupt each other's data.
-<p>In the client-server model, developers write a database server application
-that accepts requests via some form of IPC and issues calls to the Berkeley DB
-interfaces based on those requests. In this model, the database server
-is the only application linking the Berkeley DB library into its address space.
-The client-server model trades performance for protection, as it does not
-require that the applications share a protection domain with the server,
-but IPC/RPC is slower than a function call. Of course, in addition, this
-model greatly simplifies the creation of network client-server applications.
-<table><tr><td><br></td><td width="1%"><a href="../../ref/arch/bigpic.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../../ref/toc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../../ref/arch/apis.html"><img src="../../images/next.gif" alt="Next"></a>
-</td></tr></table>
-<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>
-</body>
-</html>
diff --git a/bdb/docs/ref/arch/script.html b/bdb/docs/ref/arch/script.html
deleted file mode 100644
index 411cff4600c..00000000000
--- a/bdb/docs/ref/arch/script.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!--$Id: script.so,v 10.12 2000/03/18 21:43:09 bostic Exp $-->
-<!--Copyright 1997, 1998, 1999, 2000 by Sleepycat Software, Inc.-->
-<!--All rights reserved.-->
-<html>
-<head>
-<title>Berkeley DB Reference Guide: Scripting languages</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>
-<table><tr valign=top>
-<td><h3><dl><dt>Berkeley DB Reference Guide:<dd>Architecture</dl></h3></td>
-<td width="1%"><a href="../../ref/arch/apis.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../../ref/toc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../../ref/arch/utilities.html"><img src="../../images/next.gif" alt="Next"></a>
-</td></tr></table>
-<p>
-<h1 align=center>Scripting languages</h1>
-<h3>Perl</h3>
-<p>Two Perl APIs are distributed with the Berkeley DB release. The Perl interface
-to Berkeley DB version 1.85 is called DB_File. The Perl interface to Berkeley DB
-version 2 is called BerkeleyDB. See <a href="../../ref/perl/intro.html">Using Berkeley DB with Perl</a> for more information.
-<h3>Tcl</h3>
-<p>A Tcl API is distributed with the Berkeley DB release. See
-<a href="../../ref/tcl/intro.html">Using Berkeley DB with Tcl</a> for more
-information.
-<table><tr><td><br></td><td width="1%"><a href="../../ref/arch/apis.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../../ref/toc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../../ref/arch/utilities.html"><img src="../../images/next.gif" alt="Next"></a>
-</td></tr></table>
-<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>
-</body>
-</html>
diff --git a/bdb/docs/ref/arch/smallpic.gif b/bdb/docs/ref/arch/smallpic.gif
deleted file mode 100644
index 5eb7ae8da58..00000000000
--- a/bdb/docs/ref/arch/smallpic.gif
+++ /dev/null
Binary files differ
diff --git a/bdb/docs/ref/arch/utilities.html b/bdb/docs/ref/arch/utilities.html
deleted file mode 100644
index 72bfe52b21c..00000000000
--- a/bdb/docs/ref/arch/utilities.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<!--$Id: utilities.so,v 10.23 2000/05/23 20:57:50 bostic Exp $-->
-<!--Copyright 1997, 1998, 1999, 2000 by Sleepycat Software, Inc.-->
-<!--All rights reserved.-->
-<html>
-<head>
-<title>Berkeley DB Reference Guide: Supporting utilities</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>
- <a name="2"><!--meow--></a>
-<table><tr valign=top>
-<td><h3><dl><dt>Berkeley DB Reference Guide:<dd>Architecture</dl></h3></td>
-<td width="1%"><a href="../../ref/arch/script.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../../ref/toc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../../ref/env/intro.html"><img src="../../images/next.gif" alt="Next"></a>
-</td></tr></table>
-<p>
-<h1 align=center>Supporting utilities</h1>
-<p>There are several stand-alone utilities that provide supporting
-functionality for the Berkeley DB environment:
-<p><dl compact>
-<p><dt><a href="../../utility/berkeley_db_svc.html">berkeley_db_svc</a><dd>The <a href="../../utility/berkeley_db_svc.html">berkeley_db_svc</a> utility is the Berkeley DB RPC server, providing
-standard server functionality for client. applications.
-<p><dt><a href="../../utility/db_archive.html">db_archive</a><dd>The <a href="../../utility/db_archive.html">db_archive</a> utility supports database backup, archival and log
-file administration. It facilitates log reclamation and the creation of
-database snapshots. Generally, some form of log archival must be done if
-a database environment has been configured for logging or transactions.
-<p><dt><a href="../../utility/db_checkpoint.html">db_checkpoint</a><dd>The <a href="../../utility/db_checkpoint.html">db_checkpoint</a> utility runs as a daemon process, monitoring
-the database log and periodically issuing checkpoints. It facilitates
-log reclamation and the creation of database snapshots. Generally, some
-form of database checkpointing must be done if a database environment has
-been configured for transactions.
-<p><dt><a href="../../utility/db_deadlock.html">db_deadlock</a><dd>The <a href="../../utility/db_deadlock.html">db_deadlock</a> utility runs as a daemon process, periodically
-traversing the database lock structures and aborting transactions when it
-detects a deadlock. Generally, some form of deadlock detection must be
-done if a database environment has been configured for locking.
-<p><dt><a href="../../utility/db_dump.html">db_dump</a><dd>The <a href="../../utility/db_dump.html">db_dump</a> utility writes a copy of the database to a flat-text
-file in a portable format.
-<p><dt><a href="../../utility/db_load.html">db_load</a><dd>The <a href="../../utility/db_load.html">db_load</a> utility reads the flat-text file produced by
-<a href="../../utility/db_dump.html">db_dump</a> and loads it into a database file.
-<p><dt><a href="../../utility/db_printlog.html">db_printlog</a><dd>The <a href="../../utility/db_printlog.html">db_printlog</a> utility displays the contents of Berkeley DB log files
-in a human-readable and parseable format.
-<p><dt><a href="../../utility/db_recover.html">db_recover</a><dd>The <a href="../../utility/db_recover.html">db_recover</a> utility runs after an unexpected Berkeley DB or system
-failure to restore the database to a consistent state. Generally, some
-form of database recovery must be done if databases are being modified.
-<p><dt><a href="../../utility/db_stat.html">db_stat</a> <dd>The <a href="../../utility/db_stat.html">db_stat</a> utility displays statistics for databases and database
-environments.
-<p><dt><a href="../../utility/db_upgrade.html">db_upgrade</a><dd>The <a href="../../utility/db_upgrade.html">db_upgrade</a> utility provides a command-line interface for
-upgrading underlying database formats.
-<p><dt><a href="../../utility/db_verify.html">db_verify</a><dd>The <a href="../../utility/db_verify.html">db_verify</a> utility provides a command-line interface for
-verifying the database format.
-</dl>
-<p>All of the functionality implemented for these utilities is also available
-as part of the standard Berkeley DB API. This means that threaded applications
-can easily create a thread that calls the same Berkeley DB functions as do the
-utilities. This often simplifies an application environment by removing
-the necessity for multiple processes to negotiate database and database
-environment creation and shutdown.
-<table><tr><td><br></td><td width="1%"><a href="../../ref/arch/script.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../../ref/toc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../../ref/env/intro.html"><img src="../../images/next.gif" alt="Next"></a>
-</td></tr></table>
-<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>
-</body>
-</html>