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));
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.
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.
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:
Copyright (c) 1996-2004 Sleepycat Software, Inc. - All rights reserved.