#include <db.h>

int DB_ENV->log_file(DB_ENV *env, const DB_LSN *lsn, char *namep, size_t len);


The DB_ENV->log_file method maps DB_LSN structures 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, DB_ENV->log_file will return ENOMEM. (Log filenames 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 DB_ENV->log_file method returns a non-zero error value on failure and 0 on success.


The DB_ENV->log_file method may fail and return a non-zero error for the following conditions:

The supplied buffer was too small to hold the log filename.

The DB_ENV->log_file method 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 DB_ENV->log_file method may fail and return DB_RUNRECOVERY, in which case all subsequent Berkeley DB calls will fail in the same way.



See Also

Logging Subsystem and Related Methods


Copyright Sleepycat Software