2011-09-13 17:44:24 +00:00
|
|
|
|
<?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>DbEnv</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="env.html" title="Chapter 5. The DbEnv Handle" />
|
|
|
|
|
<link rel="prev" href="envclose.html" title="DbEnv::close()" />
|
|
|
|
|
<link rel="next" href="envdbremove.html" title="DbEnv::dbremove()" />
|
|
|
|
|
</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">DbEnv</th>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td width="20%" align="left"><a accesskey="p" href="envclose.html">Prev</a> </td>
|
|
|
|
|
<th width="60%" align="center">Chapter 5.
|
|
|
|
|
The DbEnv Handle
|
|
|
|
|
</th>
|
|
|
|
|
<td width="20%" align="right"> <a accesskey="n" href="envdbremove.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="envcreate"></a>DbEnv</h2>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<pre class="programlisting">#include <db_cxx.h>
|
|
|
|
|
|
|
|
|
|
class DbEnv {
|
|
|
|
|
public:
|
|
|
|
|
DbEnv(u_int32 flags);
|
|
|
|
|
~DbEnv();
|
|
|
|
|
|
|
|
|
|
DB_ENV *DbEnv::get_DB_ENV();
|
|
|
|
|
const DB_ENV *DbEnv::get_const_DB_ENV() const;
|
|
|
|
|
static DbEnv *DbEnv::get_DbEnv(DB_ENV *dbenv);
|
|
|
|
|
static const DbEnv *DbEnv::get_const_DbEnv(const DB_ENV *dbenv);
|
|
|
|
|
...
|
|
|
|
|
}; </pre>
|
|
|
|
|
<p>
|
|
|
|
|
The <code class="classname">DbEnv</code> object is the handle for a Berkeley DB environment —
|
|
|
|
|
a collection including support for some or all of caching, locking, logging and transaction subsystems, as well as
|
|
|
|
|
databases and log files. Methods of the <code class="classname">DbEnv</code> handle are used to configure the environment
|
|
|
|
|
as well as to operate on subsystems and databases in the environment.
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
<code class="classname">DbEnv</code> handles are free-threaded if the
|
|
|
|
|
<a class="link" href="envopen.html#envopen_DB_THREAD">DB_THREAD</a> flag is specified to the
|
|
|
|
|
<a class="xref" href="envopen.html" title="DbEnv::open()">DbEnv::open()</a> method when the environment is opened.
|
|
|
|
|
The <code class="classname">DbEnv</code> handle should not be closed while any other handle
|
|
|
|
|
remains open that is using it as a reference (for example,
|
|
|
|
|
<a class="link" href="db.html" title="Chapter 2. The Db Handle">Db</a> or <a class="link" href="txn.html" title="Chapter 13. The DbTxn Handle">DbTxn</a>).
|
|
|
|
|
Once either the
|
|
|
|
|
<a class="xref" href="envclose.html" title="DbEnv::close()">DbEnv::close()</a> or
|
|
|
|
|
<a class="xref" href="envremove.html" title="DbEnv::remove()">DbEnv::remove()</a>
|
|
|
|
|
methods are called, the handle may not be accessed again, regardless of the method's return.
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
The constructor creates the <code class="classname">DbEnv</code> object.
|
|
|
|
|
The constructor allocates memory internally; calling the
|
|
|
|
|
<a class="xref" href="envclose.html" title="DbEnv::close()">DbEnv::close()</a> or
|
|
|
|
|
<a class="xref" href="envremove.html" title="DbEnv::remove()">DbEnv::remove()</a>
|
|
|
|
|
methods will free that memory.
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
Before the handle may be used, you must open it using the
|
|
|
|
|
<a class="xref" href="envopen.html" title="DbEnv::open()">DbEnv::open()</a>
|
|
|
|
|
method.
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
The <span class="bold"><strong>flags</strong></span> parameter must be set to 0.
|
|
|
|
|
</p>
|
|
|
|
|
<div class="itemizedlist">
|
|
|
|
|
<ul type="disc">
|
|
|
|
|
<li>
|
|
|
|
|
<p><a id="env_DB_CXX_NO_EXCEPTIONS"></a>
|
|
|
|
|
<code class="literal">DB_CXX_NO_EXCEPTIONS</code>
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
The Berkeley DB C++ API supports two different error behaviors. By default, whenever an error
|
|
|
|
|
occurs, an exception is thrown that encapsulates the error information. This
|
|
|
|
|
generally allows for cleaner logic for transaction processing because a try block can
|
|
|
|
|
surround a single transaction. However, if
|
|
|
|
|
<code class="literal">DB_CXX_NO_EXCEPTIONS</code> is specified, exceptions
|
|
|
|
|
are not thrown; instead, each individual function returns an error code.
|
|
|
|
|
</p>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
<p>
|
|
|
|
|
Each <code class="classname">DbEnv</code> object has an associated <code class="literal">DB_ENV</code>
|
|
|
|
|
structure, which is used by the underlying implementation of Berkeley DB and its C-language
|
|
|
|
|
API. The <code class="methodname">DbEnv::get_DB_ENV()</code> method returns a pointer to this
|
|
|
|
|
struct. Given a <code class="literal">const DbEnv</code> object,
|
|
|
|
|
<code class="methodname">DbEnv::get_const_DB_ENV()</code> returns a const pointer to the same
|
|
|
|
|
struct.
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
Given a <code class="literal">DB_ENV</code> struct, the <code class="methodname">DbEnv::get_DbEnv()</code>
|
|
|
|
|
method returns the corresponding <code class="classname">DbEnv</code> object,
|
|
|
|
|
if there is one. If the <code class="literal">DB_ENV</code> struct was not associated with a
|
|
|
|
|
<code class="classname">DbEnv</code> (that is, it was not
|
|
|
|
|
returned from a call to <code class="methodname">DbEnv::get_DB_ENV()</code>), then the result of
|
|
|
|
|
<code class="methodname">DbEnv::get_DbEnv()</code> is
|
|
|
|
|
undefined. Given a <code class="literal">const DB_ENV</code> struct,
|
|
|
|
|
<code class="methodname">DbEnv::get_const_Db_Env()</code> returns the associated
|
|
|
|
|
<code class="literal">const DbEnv</code> object, if there is one.
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
These methods may be useful for Berkeley DB applications including both C and C++ language
|
|
|
|
|
software. It should not be necessary to use these calls in a purely C++ application.
|
|
|
|
|
</p>
|
|
|
|
|
<div class="sect2" lang="en" xml:lang="en">
|
|
|
|
|
<div class="titlepage">
|
|
|
|
|
<div>
|
|
|
|
|
<div>
|
2011-12-20 00:07:10 +00:00
|
|
|
|
<h3 class="title"><a id="id3593115"></a>Class</h3>
|
2011-09-13 17:44:24 +00:00
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<p>
|
|
|
|
|
<a class="link" href="env.html" title="Chapter 5. The DbEnv Handle">DbEnv</a>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="sect2" lang="en" xml:lang="en">
|
|
|
|
|
<div class="titlepage">
|
|
|
|
|
<div>
|
|
|
|
|
<div>
|
2011-12-20 00:07:10 +00:00
|
|
|
|
<h3 class="title"><a id="id3592641"></a>See Also</h3>
|
2011-09-13 17:44:24 +00:00
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<p>
|
|
|
|
|
<a class="xref" href="env.html#envlist" title="Database Environments and Related Methods">Database Environments 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="envclose.html">Prev</a> </td>
|
|
|
|
|
<td width="20%" align="center">
|
|
|
|
|
<a accesskey="u" href="env.html">Up</a>
|
|
|
|
|
</td>
|
|
|
|
|
<td width="40%" align="right"> <a accesskey="n" href="envdbremove.html">Next</a></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td width="40%" align="left" valign="top">DbEnv::close() </td>
|
|
|
|
|
<td width="20%" align="center">
|
|
|
|
|
<a accesskey="h" href="index.html">Home</a>
|
|
|
|
|
</td>
|
|
|
|
|
<td width="40%" align="right" valign="top"> DbEnv::dbremove()</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|