DB_ENV->log_put |
#include <db.h>int DB_ENV->log_put(DB_ENV *env, DB_LSN *lsn, const DBT *data, u_int32_t flags);
The DB_ENV->log_put method appends records to the log. The DB_LSN of the put record is returned in the lsn argument. The flags argument may be set to one of the following values:
The caller is responsible for providing any necessary structure to data. (For example, in a write-ahead logging protocol, the application must understand what part of data is an operation code, what part is redo information, and what part is undo information. In addition, most transaction managers will store in data the DB_LSN of the previous log record for the same transaction, to support chaining back through the transaction's log records during undo.)
The DB_ENV->log_put method returns a non-zero error value on failure and 0 on success.
The DB_ENV->log_flush method may fail and return a non-zero error for the following conditions:
The record to be logged is larger than the maximum log record.
The DB_ENV->log_put 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_put method may fail and return DB_RUNRECOVERY, in which case all subsequent Berkeley DB calls will fail in the same way.