1I.Berkeley DB: DbLog::db_register[P

DbLog::db_register





#include <db_cxx.h>

int!DbLog::db_register(const Db *dbp,4 const char *name, DBTYPE type, u_int32_t *fidp);





Description



LThe DbLog::db_register method registers a file name with the log manager and

DThis file identification number should be used in all subsequent logGmessages that refer to operations on the file. The log manager recordsGall file name to file identification number mappings at each checkpointIso that a recovery process can identify the file to which a record in the log refers.

KThe DbLog::db_register method is called when an access method registers the5open of a file. The dbp parameter should be a3Db object-which is being returned by the access method.

AThe type parameter should be one of the types of databasesNspecified in Db::open, e.g., DB_HASH.

The DbLog::db_register>method either returns errno or throws an exception that:encapsulates an errno on failure, and 0 on success.



Errors

YIf a fatal error occurs in Berkeley DB, the DbLog::db_register method may fail and eitherIreturn DB_RUNRECOVERY or throw an exception encapsulating DB_RUNRECOVERY,Gat which point all subsequent database calls will also fail in the sameFway. Methods marked as returning errno will, by default, throwHan exception that encapsulates the error information. The default error\behavior can be changed, see DbException.

The DbLog::db_register&method may fail and throw an exceptionKfor any of the errors specified for the following Berkeley DB and C library functions: abort(3), close(3),dbenv->db_paniccall(3), fcntl(3), fflush(3), fprintf(3),free(3), fsync(3), getenv(3), getpid(3), getuid(3), isdigit(3), lseek(3), malloc(3), memcmp(3), memcpy(3), memset(3),open(3), realloc(3),sigfillset(3),sigprocmask(3), snprintf(3),stat(3), strerror(3), strlen(3),time(3), unlink(3), vfprintf(3), vsnprintf(3),and write(3).

#In addition, the DbLog::db_register&method may fail and throw an exceptionor return errnofor the following conditions:

B

EINVAL
An invalid flag value or parameter was specified.







Class

2DbLog



See Also

>DbLog::archive,:DbLog::close,>DbLog::compare,8DbLog::file,:DbLog::flush,6DbLog::get,8DbLog::open,6DbLog::put,DbLog::db_register,8DbLog::stat,;DbLog::unlinkandJDbLog::db_unregister.
ÿÿ