head 1.2; access; symbols RPM_4_2_1:1.1.1.5 RPM_4_2:1.1.1.5 RPM_4_1_1:1.1.1.5 RPM_4_1:1.1.1.4 RPM_4_0_5:1.1.1.3 RPM_4_0_4:1.1.1.2 RPM_4_0_3:1.1.1.1 RPM:1.1.1; locks; strict; comment @# @; 1.2 date 2008.01.02.09.53.23; author rse; state dead; branches; next 1.1; commitid z4cpSiAhOCXk5PLs; 1.1 date 2001.07.23.20.45.36; author rse; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2001.07.23.20.45.36; author rse; state Exp; branches; next 1.1.1.2; 1.1.1.2 date 2002.01.08.00.30.09; author rse; state Exp; branches; next 1.1.1.3; 1.1.1.3 date 2003.01.18.13.48.58; author rse; state Exp; branches; next 1.1.1.4; 1.1.1.4 date 2001.12.06.00.08.03; author rse; state Exp; branches; next 1.1.1.5; 1.1.1.5 date 2003.01.18.14.04.57; author rse; state Exp; branches; next ; desc @@ 1.2 log @remove the ancient RPM 4.2.1 source tree copy @ text @ Berkeley DB: Db::set_append_recno

Db::set_append_recno

APIRef

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

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 interface may be used only 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::err, DbEnv::errx DbEnv::open, DbEnv::remove, DbEnv::set_alloc, DbEnv::set_cachesize, DbEnv::set_data_dir, DbEnv::set_errcall, DbEnv::set_errfile, DbEnv::set_error_stream, DbEnv::set_errpfx, DbEnv::set_feedback, DbEnv::set_flags, DbEnv::set_mutexlocks, DbEnv::set_pageyield, DbEnv::set_paniccall, DbEnv::set_panicstate, DbEnv::set_recovery_init, DbEnv::set_rpc_server, DbEnv::set_region_init, DbEnv::set_shm_key, DbEnv::set_tas_spins, DbEnv::set_tmp_dir, DbEnv::set_verbose, DbEnv::strerror and DbEnv::version.

APIRef

Copyright Sleepycat Software @ 1.1 log @Initial revision @ text @d1 1 a1 1 @ 1.1.1.1 log @Import: RPM 4.0.3 @ text @@ 1.1.1.2 log @Import: RPM 4.0.4 @ text @d1 1 a1 1 d17 1 a17 1 APIRef d64 2 d67 1 d70 1 a73 1 DbEnv::set_timeout, d80 1 a80 1 APIRef @ 1.1.1.3 log @Import: RPM 4.0.5 @ text @d1 2 a2 2 a3 1 d44 2 a45 5

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. d49 1 a49 1 Db d51 24 a74 1 Databases and Related Methods @ 1.1.1.4 log @Import: RPM 4.1 @ text @d1 2 a2 2 d4 1 d45 5 a49 2

The Db::set_append_recno interface may be used only to configure Berkeley DB before the Db::open interface is called. d53 1 a53 1 DbEnv d55 1 a55 24 DbEnv::close, DbEnv::err, DbEnv::errx DbEnv::open, DbEnv::remove, DbEnv::set_alloc, DbEnv::set_cachesize, DbEnv::set_data_dir, DbEnv::set_errcall, DbEnv::set_errfile, DbEnv::set_error_stream, DbEnv::set_errpfx, DbEnv::set_feedback, DbEnv::set_flags, DbEnv::set_paniccall, DbEnv::set_recovery_init, DbEnv::set_rpc_server, DbEnv::set_shm_key, DbEnv::set_tas_spins, DbEnv::set_tmp_dir, DbEnv::set_timeout, DbEnv::set_verbose, DbEnv::strerror and DbEnv::version. @ 1.1.1.5 log @Import: RPM 4.1.1 @ text @d1 2 a2 2 a3 1 d44 2 a45 5

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. d49 1 a49 1 Db d51 24 a74 1 Databases and Related Methods @