# 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

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 method 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.

The Db::set_append_recno interface may only be used to configure Berkeley DB before the Db::open interface 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.

### Class

DbEnv

# See Also

DbEnv::close, DbEnv::open, DbEnv::remove, DbEnv::err, DbEnv::strerror, DbEnv::version, DbEnv::set_cachesize, DbEnv::set_errcall, DbEnv::set_errfile, DbEnv::set_error_stream, DbEnv::set_errpfx, DbEnv::set_flags, DbEnv::set_mutexlocks, DbEnv::set_paniccall, and DbEnv::set_verbose.`

Copyright Sleepycat Software