#include <db_cxx.h> int DbEnv::log_put(DbLsn *lsn, const Dbt *data, u_int32_t flags);
The DbEnv::log_put()
method appends records to the log. The
DbLsn of the put record is
returned in the lsn parameter.
The DbEnv::log_put()
method either returns a non-zero error value or throws an
exception that encapsulates a non-zero error value on
failure, and returns 0 on success.
The data parameter is the record to write to the log.
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 DbLsn of the previous log record for the same transaction, to support chaining back through the transaction's log records during undo.)
The flags parameter must be set to 0 or the following value:
The log is forced to disk after this record is written, guaranteeing
that all records with DbLsn
values less than or equal to the one being "put" are on disk
before DbEnv::log_put()
returns.
The lsn parameter references memory into which the DbLsn of the put record is copied.
The DbEnv::log_put()
method may fail and throw a DbException
exception, encapsulating one of the following non-zero errors, or return one
of the following non-zero errors: