DB->set_append_recno
|
|
#include <db.h>
int
DB->set_append_recno(DB *,
int (*db_append_recno_fcn)(DB *dbp, DBT *data, db_recno_t recno));
Description
When using the DB_APPEND option of the DB->put 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 errno or
a value outside of the Berkeley DB error name space on failure.
The called function must take three arguments: a reference to the
enclosing database handle; the data DBT to be stored; and the
selected record number. The called function may then modify the data
DBT.
If the callback function needs to allocate memory for the data
field, the flags field of the returned DBT should be
set to DB_DBT_APPMALLOC, which indicates that Berkeley DB should free
the memory when it is done with it.
The DB->set_append_recno method configures operations performed using the specified
DB handle, not all operations performed on the underlying
database.
The DB->set_append_recno interface may not be called after the DB->open
interface is called.
The DB->set_append_recno method returns a non-zero error value on failure and 0 on success.
Class
DB
See Also
Databases and Related Methods
Copyright Sleepycat Software
|