• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt/router/db-4.8.30/docs/programmer_reference/
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml">
4  <head>
5    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
6    <title>Environment FAQ</title>
7    <link rel="stylesheet" href="gettingStarted.css" type="text/css" />
8    <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
9    <link rel="start" href="index.html" title="Berkeley DB Programmer's Reference Guide" />
10    <link rel="up" href="env.html" title="Chapter��9.�� The Berkeley DB Environment" />
11    <link rel="prev" href="env_remote.html" title="Remote filesystems" />
12    <link rel="next" href="cam.html" title="Chapter��10.�� Berkeley DB Concurrent Data Store Applications" />
13  </head>
14  <body>
15    <div class="navheader">
16      <table width="100%" summary="Navigation header">
17        <tr>
18          <th colspan="3" align="center">Environment FAQ</th>
19        </tr>
20        <tr>
21          <td width="20%" align="left"><a accesskey="p" href="env_remote.html">Prev</a>��</td>
22          <th width="60%" align="center">Chapter��9.��
23		The Berkeley DB Environment
24        </th>
25          <td width="20%" align="right">��<a accesskey="n" href="cam.html">Next</a></td>
26        </tr>
27      </table>
28      <hr />
29    </div>
30    <div class="sect1" lang="en" xml:lang="en">
31      <div class="titlepage">
32        <div>
33          <div>
34            <h2 class="title" style="clear: both"><a id="env_faq"></a>Environment FAQ</h2>
35          </div>
36        </div>
37      </div>
38      <div class="orderedlist">
39        <ol type="1">
40          <li>
41            <p>
42            <span class="bold"><strong>I'm using multiple processes to access an Berkeley DB database
43                environment; is there any way to ensure that two processes don't run transactional
44                recovery at the same time, or that all processes have exited the database
45                environment so that recovery can be run?</strong></span> 
46        </p>
47            <p>
48            See <a class="xref" href="transapp_fail.html" title="Handling failure in Transactional Data Store applications">Handling failure in Transactional Data Store applications</a> and 
49            <a class="xref" href="transapp_app.html" title="Architecting Transactional Data Store applications">Architecting Transactional Data Store applications</a> for a full 
50            discussion of this topic.
51         </p>
52          </li>
53          <li>
54            <p>
55            <span class="bold"><strong>How can I associate application information with a <a href="../api_reference/C/db.html" class="olink">DB</a> or
56            <a href="../api_reference/C/env.html" class="olink">DB_ENV</a> handle?</strong></span> 
57        </p>
58            <p>
59            In the C API, the <a href="../api_reference/C/db.html" class="olink">DB</a> and <a href="../api_reference/C/env.html" class="olink">DB_ENV</a> structures each contain an "app_private" field intended
60            to be used to reference application-specific information.  See the <a href="../api_reference/C/dbcreate.html" class="olink">db_create()</a> and
61            <a href="../api_reference/C/envcreate.html" class="olink">db_env_create()</a> documentation for more information.
62        </p>
63            <p>
64            In the C++ or Java APIs, the easiest way to associate application-specific data with a
65            handle is to subclass the <a href="../api_reference/CXX/db.html" class="olink">Db</a> or <a href="../api_reference/CXX/env.html" class="olink">DbEnv</a>, for example subclassing
66            <a href="../api_reference/CXX/db.html" class="olink">Db</a> to get MyDb.  Objects of type MyDb will still have the Berkeley DB API
67            methods available on them, and you can put any extra data or methods you want into the
68            MyDb class.  If you are using "callback" APIs that take <a href="../api_reference/CXX/db.html" class="olink">Db</a> or
69            <a href="../api_reference/CXX/env.html" class="olink">DbEnv</a> arguments (for example, 
70            <a href="../api_reference/CXX/dbset_bt_compare.html" class="olink">Db::set_bt_compare()</a>) 
71            these will always be called with the <a href="../api_reference/CXX/db.html" class="olink">Db</a> or <a href="../api_reference/CXX/env.html" class="olink">DbEnv</a> objects you
72            create.  So if you always use MyDb objects, you will be able to take the first argument
73            to the callback function and cast it to a MyDb (in C++, cast it to (MyDb*)).  That will
74            allow you to access your data members or methods.  
75        </p>
76          </li>
77        </ol>
78      </div>
79    </div>
80    <div class="navfooter">
81      <hr />
82      <table width="100%" summary="Navigation footer">
83        <tr>
84          <td width="40%" align="left"><a accesskey="p" href="env_remote.html">Prev</a>��</td>
85          <td width="20%" align="center">
86            <a accesskey="u" href="env.html">Up</a>
87          </td>
88          <td width="40%" align="right">��<a accesskey="n" href="cam.html">Next</a></td>
89        </tr>
90        <tr>
91          <td width="40%" align="left" valign="top">Remote filesystems��</td>
92          <td width="20%" align="center">
93            <a accesskey="h" href="index.html">Home</a>
94          </td>
95          <td width="40%" align="right" valign="top">��Chapter��10.��
96		Berkeley DB Concurrent Data Store Applications
97        </td>
98        </tr>
99      </table>
100    </div>
101  </body>
102</html>
103