head 1.4; access; symbols RPM_4_1:1.1.1.2 RPM_4_0_4:1.1.1.2 RPM_4_0_3:1.1.1.1 RPM:1.1.1; locks; strict; comment @# @; 1.4 date 2003.08.24.12.43.11; author rse; state dead; branches; next 1.3; 1.3 date 2003.08.24.12.33.46; author rse; state Exp; branches; next 1.2; 1.2 date 2003.08.24.12.25.45; author rse; state dead; branches; next 1.1; 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 ; desc @@ 1.4 log @Resolve: RPM 4.1 -> RPM 4.1.1 @ text @ Berkeley DB: DbEnv::set_recovery_init

DbEnv::set_recovery_init

APIRef

#include <db_cxx.h>

int DbEnv::set_recovery_init(int (*db_recovery_init_fcn)(DbEnv *));

Description

Applications installing application-specific recovery methods need to be called before Berkeley DB performs recovery so they may add their recovery methods to Berkeley DB's.

The DbEnv::set_recovery_init method supports this functionality. The db_recovery_init_fcn method must be declared with one argument, a reference to the enclosing Berkeley DB environment. This method will be called after the DbEnv::open has been called, but before recovery is started.

If the db_recovery_init_fcn method returns a non-zero value, no recovery will be performed, and DbEnv::open will return the same value to its caller.

The DbEnv::set_recovery_init interface may be used only to configure Berkeley DB before the DbEnv::open interface is called.

The DbEnv::set_recovery_init 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.

Errors

The DbEnv::set_recovery_init method may fail and throw an exception or return a non-zero error for the following conditions:

EINVAL
An invalid flag value or parameter was specified.

Called after DbEnv::open was called.

The DbEnv::set_recovery_init method may fail and throw an exception or return a non-zero error for errors specified for other Berkeley DB and C library or system methods. If a catastrophic error has occurred, the DbEnv::set_recovery_init method may fail and either return DB_RUNRECOVERY or throw an exception encapsulating DB_RUNRECOVERY, in which case all subsequent Berkeley DB calls will fail in the same way.

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

APIRef

Copyright Sleepycat Software @ 1.3 log @Resolve: RPM 4.0.5 -> RPM 4.1 @ text @@ 1.2 log @Resolve: RPM 4.0.4 -> RPM 4.0.5 @ text @d1 1 a1 1 d17 1 a17 1 APIRef a69 2 DbEnv::set_mutexlocks, DbEnv::set_pageyield, a70 1 DbEnv::set_panicstate, a72 1 DbEnv::set_region_init, d76 1 d83 1 a83 1 APIRef @ 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 d70 2 d73 1 d76 1 a79 1 DbEnv::set_timeout, d86 1 a86 1 APIRef @