![](http://www.gnu-darwin.org/hexley-gd-sm.png)
|
DbEnv::set_recovery_init
|
![API](../images/api.gif)
|
#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.
Copyright Sleepycat Software
|