libdb/docs/programmer_reference/am_misc_perm.html
2012-11-14 16:35:20 -05:00

76 lines
4.2 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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>Retrieved key/data permanence for C/C++</title>
<link rel="stylesheet" href="gettingStarted.css" type="text/css" />
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
<link rel="start" href="index.html" title="Berkeley DB Programmer's Reference Guide" />
<link rel="up" href="am_misc.html" title="Chapter 4.  Access Method Wrapup" />
<link rel="prev" href="am_misc_struct.html" title="Storing C/C++ structures/objects" />
<link rel="next" href="am_misc_error.html" title="Error support" />
</head>
<body>
<div xmlns="" class="navheader">
<div class="libver">
<p>Library Version 11.2.5.3</p>
</div>
<table width="100%" summary="Navigation header">
<tr>
<th colspan="3" align="center">Retrieved key/data permanence for C/C++</th>
</tr>
<tr>
<td width="20%" align="left"><a accesskey="p" href="am_misc_struct.html">Prev</a> </td>
<th width="60%" align="center">Chapter 4. 
Access Method Wrapup
</th>
<td width="20%" align="right"> <a accesskey="n" href="am_misc_error.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="am_misc_perm"></a>Retrieved key/data permanence for C/C++</h2>
</div>
</div>
</div>
<p>When using the non-cursor Berkeley DB calls to retrieve key/data items under
the C/C++ APIs (for example, <a href="../api_reference/C/dbget.html" class="olink">DB-&gt;get()</a>), the memory to which the
pointer stored into the <a href="../api_reference/C/dbt.html" class="olink">DBT</a> refers is only valid until the next
call to Berkeley DB using the <a href="../api_reference/C/db.html" class="olink">DB</a> handle. (This includes <span class="bold"><strong>any</strong></span>
use of the returned <a href="../api_reference/C/db.html" class="olink">DB</a> handle, including by another thread of
control within the process. For this reason, when multiple threads are
using the returned <a href="../api_reference/C/db.html" class="olink">DB</a> handle concurrently, one of the
<a href="../api_reference/C/dbt.html#dbt_DB_DBT_MALLOC" class="olink">DB_DBT_MALLOC</a>, <a href="../api_reference/C/dbt.html#dbt_DB_DBT_REALLOC" class="olink">DB_DBT_REALLOC</a> or <a href="../api_reference/C/dbt.html#dbt_DB_DBT_USERMEM" class="olink">DB_DBT_USERMEM</a>
flags must be specified with any non-cursor <a href="../api_reference/C/dbt.html" class="olink">DBT</a> used for key or
data retrieval.)</p>
<p>When using the cursor Berkeley DB calls to retrieve key/data items under the
C/C++ APIs (for example, <a href="../api_reference/C/dbcget.html" class="olink">DBC-&gt;get()</a>), the memory to which the
pointer stored into the <a href="../api_reference/C/dbt.html" class="olink">DBT</a> refers is only valid until the next
call to Berkeley DB using the <a href="../api_reference/C/dbc.html" class="olink">DBC</a> returned by <a href="../api_reference/C/dbcursor.html" class="olink">DB-&gt;cursor()</a>.</p>
</div>
<div class="navfooter">
<hr />
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left"><a accesskey="p" href="am_misc_struct.html">Prev</a> </td>
<td width="20%" align="center">
<a accesskey="u" href="am_misc.html">Up</a>
</td>
<td width="40%" align="right"> <a accesskey="n" href="am_misc_error.html">Next</a></td>
</tr>
<tr>
<td width="40%" align="left" valign="top">Storing C/C++ structures/objects </td>
<td width="20%" align="center">
<a accesskey="h" href="index.html">Home</a>
</td>
<td width="40%" align="right" valign="top"> Error support</td>
</tr>
</table>
</div>
</body>
</html>