+I$Berkeley DB: log_file[P

log_file





#include <db.h>

intlog_file(DB_LOG *logp,0 const DB_LSN *lsn, char *namep, size_t len);





Description



The log_file function mapsDB_LSN structuresto file names,Fcopying the name of the file containing the record named by lsn4into the memory location referenced by namep.

JThe len argument is the length of the namep buffer in bytes.AIf namep is too short to hold the file name, log_file willreturn ENOMEM.I(Log file names are normally quite short, on the order of 10 characters.)

This mapping ofDB_LSN structures?to files is needed for database administration. For example, a2transaction manager typically records the earliestDB_LSNFneeded for restart, and the database administrator may want to archive(log files to tape when they contain onlyDB_LSN3entries before the earliest one needed for restart.

The log_fileHfunction returns the value of errno on failure, and 0 on success.



Errors

QIf a fatal error occurs in Berkeley DB, the log_file function may fail and returnFDB_RUNRECOVERY, at which point all subsequent database calls will alsoreturn DB_RUNRECOVERY.

The log_file)function may fail and return errnoKfor any of the errors specified for the following Berkeley DB and C library functions: abort(3), close(3), fcntl(3), fflush(3), fprintf(3),free(3), getenv(3), getpid(3), getuid(3), isdigit(3), malloc(3), memcpy(3), memset(3),open(3),sigfillset(3),sigprocmask(3), snprintf(3),stat(3), strcpy(3), strerror(3), strlen(3), unlink(3), vfprintf(3),and vsnprintf(3).

In addition, the log_file)function may fail and return errnofor the following conditions:

M

ENOMEM
The supplied buffer was too small to hold the log file name.




See Also

9log_archive,5log_close,9log_compare, log_file,5log_flush,1log_get,3log_open,1log_put,>log_register,3log_stat,6log_unlinkandBlog_unregister.
ÿÿ