1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
<!--$Id: db_set_append_recno.html,v 1.1.1.1 2003/11/20 22:14:24 toshok Exp $-->
<!--Copyright 1997-2002 by Sleepycat Software, Inc.-->
<!--All rights reserved.-->
<!--See the file LICENSE for redistribution information.-->
<html>
<head>
<title>Berkeley DB: DB->set_append_recno</title>
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
<meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++">
</head>
<body bgcolor=white>
<a name="2"><!--meow--></a>
<table width="100%"><tr valign=top>
<td>
<h1>DB->set_append_recno</h1>
</td>
<td align=right>
<a href="../api_c/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../reftoc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<hr size=1 noshade>
<tt>
<h3><pre>
#include <db.h>
<p>
int
DB->set_append_recno(DB *,
int (*db_append_recno_fcn)(DB *dbp, DBT *data, db_recno_t recno));
</pre></h3>
<h1>Description</h1>
<p>When using the <a href="../api_c/db_put.html#DB_APPEND">DB_APPEND</a> option of the <a href="../api_c/db_put.html">DB->put</a> method,
it may be useful to modify the stored data based on the generated key.
If a callback function is specified using the
DB->set_append_recno method, it will be called after the record number
has been selected, but before the data has been stored.
The callback function must return 0 on success and <b>errno</b> or
a value outside of the Berkeley DB error name space on failure.
<p>The called function must take three arguments: a reference to the
enclosing database handle; the data <a href="../api_c/dbt_class.html">DBT</a> to be stored; and the
selected record number. The called function may then modify the data
<a href="../api_c/dbt_class.html">DBT</a>.
<p>If the callback function needs to allocate memory for the <b>data</b>
field, the <b>flags</b> field of the returned <a href="../api_c/dbt_class.html">DBT</a> should be
set to DB_DBT_APPMALLOC, which indicates that Berkeley DB should free
the memory when it is done with it.
<p>The DB->set_append_recno method configures operations performed using the specified
<a href="../api_c/db_class.html">DB</a> handle, not all operations performed on the underlying
database.
<p>The DB->set_append_recno interface may not be called after the <a href="../api_c/db_open.html">DB->open</a>
interface is called.
<p>The DB->set_append_recno method returns a non-zero error value on failure and 0 on success.
<h1>Class</h1>
<a href="../api_c/db_class.html">DB</a>
<h1>See Also</h1>
<a href="../api_c/db_list.html">Databases and Related Methods</a>
</tt>
<table width="100%"><tr><td><br></td><td align=right>
<a href="../api_c/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../reftoc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>
</body>
</html>
|