int
log_file(DB_ENV *env,
const DB_LSN *lsn, char *namep, size_t len);
Description
The log_file function maps
DB_LSN structures
to file names,
copying the name of the file containing the record named by lsn
into the memory location referenced by namep.
The len argument is the length of the namep buffer in bytes.
If namep is too short to hold the file name, log_file will
return ENOMEM.
(Log file names are normally quite short, on the order of 10 characters.)
This mapping of
DB_LSN structures
to files is needed for database administration. For example, a
transaction manager typically records the earliest
DB_LSN
needed for restart, and the database administrator may want to archive
log files to tape when they contain only
DB_LSN
entries before the earliest one needed for restart.
The log_file function returns a non-zero error value on failure and 0 on success.
Errors
The log_file function may fail and return a non-zero error for the following conditions:
ENOMEM
The supplied buffer was too small to hold the log file name.
The log_file function may fail and return a non-zero error for errors specified for other Berkeley DB and C library or system functions.
If a catastrophic error has occurred, the log_file function may fail and return
DB_RUNRECOVERY, in which case all subsequent Berkeley DB calls will fail
in the same way.