mirror of
https://github.com/berkeleydb/libdb.git
synced 2024-11-17 01:26:25 +00:00
631 lines
29 KiB
HTML
631 lines
29 KiB
HTML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||
<head>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||
<title>Db::open()</title>
|
||
<link rel="stylesheet" href="apiReference.css" type="text/css" />
|
||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
|
||
<link rel="start" href="index.html" title="Berkeley DB C++ API Reference" />
|
||
<link rel="up" href="db.html" title="Chapter 2. The Db Handle" />
|
||
<link rel="prev" href="dbkey_range.html" title="Db::key_range()" />
|
||
<link rel="next" href="dbput.html" title="Db::put()" />
|
||
</head>
|
||
<body>
|
||
<div xmlns="" class="navheader">
|
||
<div class="libver">
|
||
<p>Library Version 11.2.5.2</p>
|
||
</div>
|
||
<table width="100%" summary="Navigation header">
|
||
<tr>
|
||
<th colspan="3" align="center">Db::open()</th>
|
||
</tr>
|
||
<tr>
|
||
<td width="20%" align="left"><a accesskey="p" href="dbkey_range.html">Prev</a> </td>
|
||
<th width="60%" align="center">Chapter 2.
|
||
The Db Handle
|
||
</th>
|
||
<td width="20%" align="right"> <a accesskey="n" href="dbput.html">Next</a></td>
|
||
</tr>
|
||
</table>
|
||
<hr />
|
||
</div>
|
||
<div class="sect1" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h2 class="title" style="clear: both"><a id="dbopen"></a>Db::open()</h2>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<pre class="programlisting">#include <db_cxx.h>
|
||
|
||
int
|
||
Db::open(DbTxn *txnid, const char *file,
|
||
const char *database, DBTYPE type, u_int32_t flags, int mode); </pre>
|
||
<p>
|
||
The <code class="methodname">Db::open()</code> method opens the database represented by the
|
||
<span class="bold"><strong>file</strong></span> and <span class="bold"><strong>database</strong></span>.
|
||
</p>
|
||
<p>
|
||
The currently supported Berkeley DB file formats (or <span class="emphasis"><em>access
|
||
methods</em></span>) are Btree, Hash, Heap, Queue, and Recno. The Btree
|
||
format is a representation of a sorted, balanced tree structure. The
|
||
Hash format is an extensible, dynamic hashing scheme. The Queue
|
||
format supports fast access to fixed-length records accessed
|
||
sequentially or by logical record number. The Recno format supports
|
||
fixed- or variable-length records, accessed sequentially or by logical
|
||
record number, and optionally backed by a flat text file.
|
||
</p>
|
||
<p>
|
||
Storage and retrieval for the Berkeley DB access methods are based on
|
||
key/data pairs; see <a class="link" href="dbt.html" title="Chapter 4. The Dbt Handle">Dbt</a>
|
||
for more information.
|
||
</p>
|
||
<p>
|
||
Calling <code class="methodname">Db::open()</code> is a relatively expensive operation, and
|
||
maintaining a set of open databases will normally be preferable to
|
||
repeatedly opening and closing the database for each new query.
|
||
</p>
|
||
<p>
|
||
The <code class="methodname">Db::open()</code> <span>
|
||
|
||
<span>
|
||
method either returns a non-zero error value or throws an
|
||
exception that encapsulates a non-zero error value on
|
||
failure, and returns 0 on success.
|
||
</span>
|
||
</span>
|
||
If <code class="methodname">Db::open()</code> fails, the
|
||
<a class="xref" href="dbclose.html" title="Db::close()">Db::close()</a> method must be
|
||
called to discard the <a class="link" href="db.html" title="Chapter 2. The Db Handle">Db</a>
|
||
handle.
|
||
</p>
|
||
<div class="sect2" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h3 class="title"><a id="id3587754"></a>Parameters</h3>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="sect3" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h4 class="title"><a id="id3588025"></a>txnid</h4>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
If the operation is part of an application-specified
|
||
transaction, the <span class="bold"><strong>txnid</strong></span>
|
||
parameter is a transaction handle returned from
|
||
<a class="xref" href="txnbegin.html" title="DbEnv::txn_begin()">DbEnv::txn_begin()</a>; if
|
||
the operation is part of a Berkeley DB Concurrent Data
|
||
Store group, the
|
||
<span class="bold"><strong>txnid</strong></span> parameter is a
|
||
handle returned from
|
||
<a class="xref" href="envcdsgroup_begin.html" title="DbEnv::cdsgroup_begin()">DbEnv::cdsgroup_begin()</a>;
|
||
otherwise NULL. If no transaction handle is specified,
|
||
but the DB_AUTO_COMMIT flag is specified, the operation
|
||
will be implicitly transaction protected. Note that
|
||
transactionally protected operations on a
|
||
<a class="link" href="db.html" title="Chapter 2. The Db Handle">Db</a> handle requires the
|
||
<a class="link" href="db.html" title="Chapter 2. The Db Handle">Db</a> handle itself be
|
||
transactionally protected during its open. Also note
|
||
that the transaction must be committed before the handle
|
||
is closed; see
|
||
<a href="../../programmer_reference/program_scope.html" class="olink">Berkeley DB handles</a>
|
||
for more information.
|
||
</p>
|
||
</div>
|
||
<div class="sect3" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h4 class="title"><a id="id3588157"></a>file</h4>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
The <span class="bold"><strong>file</strong></span> parameter is used as the
|
||
name of an underlying file that will be used to back the database; see
|
||
<a href="../../programmer_reference/env_naming.html" class="olink">File naming</a> for more
|
||
information.
|
||
</p>
|
||
<p>
|
||
In-memory databases never intended to be preserved on disk may be
|
||
created by setting the <span class="bold"><strong>file</strong></span> parameter
|
||
to NULL. Whether other threads of control can access this database is
|
||
driven entirely by whether the <span class="bold"><strong>database</strong></span>
|
||
parameter is set to NULL.
|
||
</p>
|
||
<p>
|
||
When using a Unicode build on Windows (the default), the <span class="bold"><strong>file</strong></span> argument will be interpreted as a UTF-8
|
||
string, which is equivalent to ASCII for Latin characters.
|
||
</p>
|
||
</div>
|
||
<div class="sect3" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h4 class="title"><a id="id3587155"></a>database</h4>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
The <span class="bold"><strong>database</strong></span> parameter is optional,
|
||
and allows applications to have multiple databases in a single file.
|
||
Although no <span class="bold"><strong>database</strong></span> parameter needs
|
||
to be specified, it is an error to attempt to open a second database
|
||
in a <span class="bold"><strong>file</strong></span> that was not initially
|
||
created using a <span class="bold"><strong>database</strong></span> name.
|
||
Further, the <span class="bold"><strong>database</strong></span> parameter is
|
||
not supported by the Queue format. Finally, when opening multiple
|
||
databases in the same physical file, it is important to consider
|
||
locking and memory cache issues; see
|
||
<a href="../../programmer_reference/am_opensub.html" class="olink">Opening multiple databases in a single file</a>
|
||
for more information.
|
||
</p>
|
||
<p>
|
||
If both the <span class="bold"><strong>database</strong></span> and
|
||
<span class="bold"><strong>file</strong></span> parameters are NULL,
|
||
the database is strictly temporary and cannot be opened
|
||
by any other thread of control. Thus the database can only be accessed
|
||
by sharing the single database handle that created it, in
|
||
circumstances where doing so is safe.
|
||
</p>
|
||
<p>
|
||
If the <span class="bold"><strong>database</strong></span> parameter is not
|
||
set to NULL, the database can be opened by other threads of control
|
||
and will be replicated to client sites in any replication group, regardless
|
||
of whether the <span class="bold"><strong>file</strong></span> parameter is set to
|
||
NULL.
|
||
</p>
|
||
</div>
|
||
<div class="sect3" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h4 class="title"><a id="id3588077"></a>type</h4>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
The <span class="bold"><strong>type</strong></span> parameter is of
|
||
type DBTYPE, and must be set to one of
|
||
<code class="literal">DB_BTREE</code>, <code class="literal">DB_HASH</code>,
|
||
<code class="literal">DB_HEAP</code>, <code class="literal">DB_QUEUE</code>,
|
||
<code class="literal">DB_RECNO</code>, or <code class="literal">DB_UNKNOWN</code>.
|
||
If <span class="bold"><strong>type</strong></span> is DB_UNKNOWN, the
|
||
database must already exist and
|
||
<code class="methodname">Db::open()</code> will automatically
|
||
determine its type. The
|
||
<a class="xref" href="dbget_type.html" title="Db::get_type()">Db::get_type()</a> method
|
||
may be used to determine the underlying type of databases opened using
|
||
DB_UNKNOWN.
|
||
</p>
|
||
<p>
|
||
It is an error to specify the incorrect <span class="bold"><strong>type</strong></span>
|
||
for a database that already exists.
|
||
</p>
|
||
</div>
|
||
<div class="sect3" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h4 class="title"><a id="id3588103"></a>flags</h4>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
The <span class="bold"><strong>flags</strong></span> parameter must be set to zero or
|
||
by bitwise inclusively <span class="bold"><strong>OR</strong></span>'ing together one
|
||
or more of the following values:
|
||
</p>
|
||
<div class="itemizedlist">
|
||
<ul type="disc">
|
||
<li>
|
||
<p><a id="open_DB_AUTO_COMMIT"></a>
|
||
<code class="literal">DB_AUTO_COMMIT</code>
|
||
</p>
|
||
<p>
|
||
Enclose the <code class="methodname">Db::open()</code>
|
||
call within a transaction. If the call succeeds,
|
||
the open operation will be recoverable and all
|
||
subsequent database modification operations based
|
||
on this handle will be transactionally protected.
|
||
If the call fails, no database will have been
|
||
created.
|
||
</p>
|
||
</li>
|
||
<li>
|
||
<p><a id="open_DB_CREATE"></a>
|
||
<code class="literal">DB_CREATE</code>
|
||
</p>
|
||
<p>
|
||
Create the database. If the database does not
|
||
already exist and the <code class="literal">DB_CREATE</code>
|
||
flag is not specified, the
|
||
<code class="methodname">Db::open()</code> will fail.
|
||
</p>
|
||
</li>
|
||
<li>
|
||
<p><a id="open_DB_EXCL"></a>
|
||
<code class="literal">DB_EXCL</code>
|
||
</p>
|
||
<p>
|
||
Return an error if the database already exists. The
|
||
<code class="literal">DB_EXCL</code> flag is only meaningful
|
||
when specified with the <code class="literal">DB_CREATE</code>.
|
||
flag.
|
||
</p>
|
||
</li>
|
||
<li>
|
||
<p><a id="dbopen_DB_MULTIVERSION"></a>
|
||
<code class="literal">DB_MULTIVERSION</code>
|
||
</p>
|
||
<p>
|
||
Open the database with support for
|
||
<a href="../../programmer_reference/transapp_read.html" class="olink">
|
||
multiversion concurrency control</a>.
|
||
This will cause updates to the database to follow a
|
||
copy-on-write protocol, which is required to
|
||
support snapshot isolation. The
|
||
<code class="literal">DB_MULTIVERSION</code> flag requires
|
||
that the database be transactionally protected
|
||
during its open and is not supported by the queue
|
||
format.
|
||
</p>
|
||
</li>
|
||
<li>
|
||
<p><a id="open_DB_NOMMAP"></a>
|
||
<code class="literal">DB_NOMMAP</code>
|
||
</p>
|
||
<p>
|
||
Do not map this database into process memory (see the
|
||
<a class="xref" href="envset_mp_mmapsize.html" title="DbEnv::set_mp_mmapsize()">DbEnv::set_mp_mmapsize()</a>
|
||
method for further information).
|
||
</p>
|
||
</li>
|
||
<li>
|
||
<p><a id="dbopen_DB_RDONLY"></a>
|
||
<code class="literal">DB_RDONLY</code>
|
||
</p>
|
||
<p>
|
||
Open the database for reading only. Any attempt to modify
|
||
items in the database will fail, regardless of the actual
|
||
permissions of any underlying files.
|
||
</p>
|
||
</li>
|
||
<li>
|
||
<p><a id="dbopen_DB_READ_UNCOMMITTED"></a>
|
||
<code class="literal">DB_READ_UNCOMMITTED</code>
|
||
</p>
|
||
<p>
|
||
Support transactional read operations with degree 1
|
||
isolation. Read operations on the database may request the
|
||
return of modified but not yet committed data. This flag
|
||
must be specified on all
|
||
<a class="link" href="db.html" title="Chapter 2. The Db Handle">Db</a>
|
||
handles used to perform dirty
|
||
reads or database updates, otherwise requests for dirty
|
||
reads may not be honored and the read may block.
|
||
</p>
|
||
</li>
|
||
<li>
|
||
<p><a id="open_DB_THREAD"></a>
|
||
<code class="literal">DB_THREAD</code>
|
||
</p>
|
||
<p>
|
||
Cause the <a class="link" href="db.html" title="Chapter 2. The Db Handle">Db</a>
|
||
handle returned by
|
||
<code class="methodname">Db::open()</code> to be
|
||
<span class="emphasis"><em>free-threaded</em></span>; that is,
|
||
concurrently usable by multiple threads in the
|
||
address space.
|
||
</p>
|
||
</li>
|
||
<li>
|
||
<p><a id="open_DB_TRUNCATE"></a>
|
||
<code class="literal">DB_TRUNCATE</code>
|
||
</p>
|
||
<p>
|
||
Physically truncate the underlying file, discarding all
|
||
previous databases it might have held. Underlying filesystem
|
||
primitives are used to implement this flag. For this reason,
|
||
it is applicable only to the file and cannot be used to
|
||
discard databases within a file.
|
||
</p>
|
||
<p>
|
||
The <code class="literal">DB_TRUNCATE</code> flag cannot be lock or
|
||
transaction-protected, and it is an error to specify it in a
|
||
locking or transaction-protected environment.
|
||
</p>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
<div class="sect3" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h4 class="title"><a id="id3588635"></a>mode</h4>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
On Windows systems, the mode parameter is ignored.
|
||
</p>
|
||
<p>
|
||
On UNIX systems or in IEEE/ANSI Std 1003.1 (POSIX) environments, files
|
||
created by the database open are created with mode <span class="bold"><strong>mode</strong></span> (as described in <span class="bold"><strong>chmod</strong></span>(2)) and modified by the process' umask
|
||
value at the time of creation (see <span class="bold"><strong>umask</strong></span>(2)). Created files are owned by the
|
||
process owner; the group ownership of created files is based on the
|
||
system and directory defaults, and is not further specified by
|
||
Berkeley DB. System shared memory segments created by the database
|
||
open are created with mode <span class="bold"><strong>mode</strong></span>,
|
||
unmodified by the process' umask value. If <span class="bold"><strong>mode</strong></span> is 0, the database open will use a default
|
||
mode of readable and writable by both owner and group.
|
||
</p>
|
||
</div>
|
||
</div>
|
||
<div class="sect2" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h3 class="title"><a id="id3588634"></a>Environment Variables</h3>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
If the database was opened within a database environment, the
|
||
environment variable <span class="bold"><strong>DB_HOME</strong></span>
|
||
may be used as the path of the database environment home.
|
||
</p>
|
||
<p>
|
||
<code class="methodname">Db::open()</code> is affected by any
|
||
database directory specified using the
|
||
<a class="xref" href="envset_data_dir.html" title="DbEnv::set_data_dir()">DbEnv::set_data_dir()</a>
|
||
method, or by setting the "set_data_dir" string in the
|
||
environment's <a href="../../programmer_reference/env_db_config.html#env_db_config.DB_CONFIG" class="olink">DB_CONFIG</a> file.
|
||
</p>
|
||
<div class="itemizedlist">
|
||
<ul type="disc">
|
||
<li>
|
||
<p>
|
||
<span class="bold"><strong>TMPDIR</strong></span>
|
||
</p>
|
||
<p>
|
||
If the <span class="bold"><strong>file</strong></span> and
|
||
<span class="bold"><strong>dbenv</strong></span> parameters to
|
||
<code class="methodname">Db::open()</code> are
|
||
<code class="literal">NULL</code>, the environment variable
|
||
<span class="bold"><strong>TMPDIR</strong></span> may be used as
|
||
a directory in which to create temporary backing files
|
||
</p>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
<div class="sect2" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h3 class="title"><a id="id3588954"></a>Errors</h3>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
The <code class="methodname">Db::open()</code> <span>
|
||
|
||
<span>
|
||
method may fail and throw a <a class="link" href="dbexception.html" title="Chapter 6. The DbException Class">DbException</a>
|
||
exception, encapsulating one of the following non-zero errors, or return one
|
||
of the following non-zero errors:
|
||
</span>
|
||
</span>
|
||
</p>
|
||
<div class="sect3" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h4 class="title"><a id="id3588923"></a><span>DbDeadlockException or </span>DB_LOCK_DEADLOCK</h4>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
A transactional database environment operation was selected to resolve
|
||
a deadlock.
|
||
</p>
|
||
<p>
|
||
<a class="xref" href="dbdeadlock.html" title="DbDeadlockException">DbDeadlockException</a> is thrown if
|
||
your Berkeley DB API is configured to throw exceptions.
|
||
Otherwise, <code class="literal">DB_LOCK_DEADLOCK</code> is returned.
|
||
</p>
|
||
</div>
|
||
<div class="sect3" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h4 class="title"><a id="id3588184"></a><span>DbLockNotGrantedException or </span>DB_LOCK_NOTGRANTED</h4>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
A Berkeley DB Concurrent Data Store database environment configured
|
||
for lock timeouts was unable to grant a lock in the allowed time.
|
||
</p>
|
||
<p>
|
||
<a class="xref" href="dblocknotgranted.html" title="DbLockNotGrantedException">DbLockNotGrantedException</a> is thrown if
|
||
your Berkeley DB API is configured to throw exceptions.
|
||
Otherwise, <code class="literal">DB_LOCK_NOTGRANTED</code> is returned.
|
||
</p>
|
||
</div>
|
||
<div class="sect3" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h4 class="title"><a id="id3588204"></a>ENOENT</h4>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
The file or directory does not exist.
|
||
</p>
|
||
</div>
|
||
<div class="sect3" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h4 class="title"><a id="id3588431"></a>ENOENT</h4>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
A nonexistent <span class="bold"><strong>re_source</strong></span> file was specified.
|
||
</p>
|
||
</div>
|
||
<div class="sect3" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h4 class="title"><a id="id3588824"></a>DB_OLD_VERSION</h4>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
The database cannot be opened without being first upgraded.
|
||
</p>
|
||
</div>
|
||
<div class="sect3" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h4 class="title"><a id="id3589047"></a>EEXIST</h4>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
<code class="literal">DB_CREATE</code> and <code class="literal">DB_EXCL</code>
|
||
were specified and the database exists.
|
||
</p>
|
||
</div>
|
||
<div class="sect3" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h4 class="title"><a id="id3588078"></a>EINVAL</h4>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
If an unknown database type, page size, hash function, pad
|
||
byte, byte order, or a flag value or parameter that is
|
||
incompatible with the specified database was specified; the
|
||
<a class="link" href="envopen.html#envopen_DB_THREAD">DB_THREAD</a>
|
||
flag was specified and fast mutexes are not available for
|
||
this architecture; the
|
||
<a class="link" href="envopen.html#envopen_DB_THREAD">DB_THREAD</a>
|
||
flag was specified to <code class="methodname">Db::open()</code>,
|
||
but was not specified to the
|
||
<code class="methodname">DbEnv::open()</code> call for the
|
||
environment in which the
|
||
<a class="link" href="db.html" title="Chapter 2. The Db Handle">Db</a> handle was created; a
|
||
backing flat text file was specified with either the
|
||
<a class="link" href="envopen.html#envopen_DB_THREAD">DB_THREAD</a>
|
||
flag or the provided database environment supports
|
||
transaction processing; a Heap database is in use and
|
||
<a class="xref" href="dbset_heapsize.html" title="Db::set_heapsize()">Db::set_heapsize()</a>
|
||
was used to set a heap size that is different from the value
|
||
used to create the database; or if an invalid flag value or
|
||
parameter was specified.
|
||
</p>
|
||
</div>
|
||
<div class="sect3" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h4 class="title"><a id="id3588189"></a> <span>DbRepHandleDeadException or</span> DB_REP_HANDLE_DEAD</h4>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
When a client synchronizes with the master, it is possible for committed
|
||
transactions to be rolled back. This invalidates all the database and cursor
|
||
handles opened in the replication environment. Once this occurs, an attempt to use
|
||
such a handle will
|
||
<span>
|
||
throw a <a class="xref" href="dbrephandledead.html" title="DbRepHandleDeadException">DbRepHandleDeadException</a> (if
|
||
your application is configured to throw exceptions), or
|
||
</span>
|
||
return <code class="literal">DB_REP_HANDLE_DEAD</code>.
|
||
The application will need to discard the handle and open a new one in order to
|
||
continue processing.
|
||
</p>
|
||
</div>
|
||
<div class="sect3" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h4 class="title"><a id="id3588901"></a><span>DbDeadlockException or </span>DB_REP_LOCKOUT</h4>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
The operation was blocked by client/master synchronization.
|
||
</p>
|
||
<p>
|
||
<a class="xref" href="dbdeadlock.html" title="DbDeadlockException">DbDeadlockException</a> is thrown if
|
||
your Berkeley DB API is configured to throw exceptions.
|
||
Otherwise, <code class="literal">DB_REP_LOCKOUT</code> is returned.
|
||
</p>
|
||
</div>
|
||
</div>
|
||
<div class="sect2" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h3 class="title"><a id="id3588585"></a>Class</h3>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
<a class="link" href="db.html" title="Chapter 2. The Db Handle">Db</a>
|
||
</p>
|
||
</div>
|
||
<div class="sect2" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h3 class="title"><a id="id3588039"></a>See Also</h3>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
<a class="xref" href="db.html#dblist" title="Database and Related Methods">Database and Related Methods</a>
|
||
</p>
|
||
</div>
|
||
</div>
|
||
<div class="navfooter">
|
||
<hr />
|
||
<table width="100%" summary="Navigation footer">
|
||
<tr>
|
||
<td width="40%" align="left"><a accesskey="p" href="dbkey_range.html">Prev</a> </td>
|
||
<td width="20%" align="center">
|
||
<a accesskey="u" href="db.html">Up</a>
|
||
</td>
|
||
<td width="40%" align="right"> <a accesskey="n" href="dbput.html">Next</a></td>
|
||
</tr>
|
||
<tr>
|
||
<td width="40%" align="left" valign="top">Db::key_range() </td>
|
||
<td width="20%" align="center">
|
||
<a accesskey="h" href="index.html">Home</a>
|
||
</td>
|
||
<td width="40%" align="right" valign="top"> Db::put()</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
</body>
|
||
</html>
|