The Logging subsystem is the logging facility used by Berkeley DB. It is largely Berkeley DB-specific, although it is potentially useful outside of the Berkeley DB package for applications wanting write-ahead logging support. Applications wanting to use the log for purposes other than logging file modifications based on a set of open file descriptors will almost certainly need to make source code modifications to the Berkeley DB code base.
A log can be shared by any number of threads of control. The DB_ENV->open method is used to open a log. When the log is no longer in use, it should be closed using the DB_ENV->close method.
Individual log entries are identified by log sequence numbers. Log sequence numbers are stored in an opaque object, a DB_LSN.
The DB_ENV->log_cursor method is used to allocate a log cursor. Log cursors have two methods: DB_LOGC->get method to retrieve log records from the log, and DB_LOGC->close method to destroy the cursor.
There are additional methods for integrating the log subsystem with a transaction processing system:
|Logging Subsystem and Related Methods||Description|
|DB_LSN||Log Sequence Numbers|
|log_compare||Compare two Log Sequence Numbers|
|DB_ENV->log_archive||List log and database files|
|DB_ENV->log_file||Map Log Sequence Numbers to log files|
|DB_ENV->log_flush||Flush log records|
|DB_ENV->log_printf||Append informational message to the log|
|DB_ENV->log_put||Write a log record|
|DB_ENV->log_stat||Return log subsystem statistics|
|Logging Subsystem Cursors|
|DB_ENV->log_cursor||Create a log cursor handle|
|DB_LOGC->close||Close a log cursor|
|DB_LOGC->get||Retrieve a log record|
|Logging Subsystem Configuration|
|DB_ENV->set_lg_bsize||Set log buffer size|
|DB_ENV->set_lg_dir||Set the environment logging directory|
|DB_ENV->set_lg_filemode||Set log file mode|
|DB_ENV->set_lg_max||Set log file size|
|DB_ENV->set_lg_regionmax||Set logging region size|
Copyright (c) 1996-2005 Sleepycat Software, Inc. - All rights reserved.