DbEnv::log_file
|
|
#include <db_cxx.h>
int
DbEnv::log_file(const DbLsn *lsn, char *namep, size_t len);
Description
The DbEnv::log_file method maps
DbLsn objects
to filenames,
copying the name of the file containing the record named by lsn
into the memory location to which namep refers.
The len argument is the length of the namep buffer in bytes.
If namep is too short to hold the filename, DbEnv::log_file will
return ENOMEM.
(Log filenames are normally quite short, on the order of 10 characters.)
This mapping of
DbLsn objects
to files is needed for database administration. For example, a
transaction manager typically records the earliest
DbLsn
needed for restart, and the database administrator may want to archive
log files to tape when they contain only
DbLsn
entries before the earliest one needed for restart.
The DbEnv::log_file 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::log_file method may fail and throw an exception or return a non-zero error for the following conditions:
- ENOMEM
- The supplied buffer was too small to hold the log filename.
The DbEnv::log_file 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::log_file method may fail and
either return DB_RUNRECOVERY or throw a
DbRunRecoveryException,
in which case all subsequent Berkeley DB calls will fail in the same way.
Class
DbEnv, DbLogc, DbLsn
See Also
Logging Subsystem and Related Methods
Copyright Sleepycat Software
|