Viewing file: db_set_append_recno.html (4.31 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
Berkeley DB: Db::set_append_recno
Db::set_append_recno
|
 |
#include <db_cxx.h>
int
Db::set_append_recno(
int (*db_append_recno_fcn)(DB *dbp, Dbt *data, db_recno_t recno));
Description: Db::set_append_recno
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 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 method may not be called after the Db::open method is called.
The Db::set_append_recno method
either returns a non-zero error value
or throws an exception that encapsulates a non-zero error value on
failure, and returns 0 on success.
Parameters
- db_append_recno_fcn
- The db_append_recno_fcn parameter is a function to call after
the record number has been selected but before the data has been stored
into the database. The function takes three parameters:
- db
- The db parameter is the enclosing database handle.
- dbt
- The dbt parameter is the data Dbt to be stored.
- recno
- The recno parameter is the generated record number.
The called function may modify the data Dbt. If the 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 callback function must return 0 on success and errno or
a value outside of the Berkeley DB error name space on failure.
Errors
The Db::set_append_recno method
may fail and throw
DbException,
encapsulating one of the following non-zero errors, or return one of
the following non-zero errors:
- EINVAL
- If the method was called after Db::open was called; or if an
invalid flag value or parameter was specified.
Class
Db
See Also
Databases and Related Methods
Copyright (c) 1996-2004 Sleepycat Software, Inc. - All rights reserved.
|