mirror of
https://github.com/berkeleydb/libdb.git
synced 2024-11-17 01:26:25 +00:00
172 lines
8 KiB
HTML
172 lines
8 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>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>
|
||
<h3 class="title"><a id="id3612597"></a>Class</h3>
|
||
</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>
|
||
<h3 class="title"><a id="id3612135"></a>See Also</h3>
|
||
</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>
|