|
DbEnv.log_put
|
|
import com.sleepycat.db.*;
public void log_put(DbLsn lsn, Dbt data, int flags)
throws DbException;
Description
The DbEnv.log_put method appends records to the log. The DbLsn of
the put record is returned in the lsn argument. The flags
argument may be set to one of the following values:
- Db.DB_FLUSH
- 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 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 DbEnv.log_put method throws an exception that encapsulates a non-zero error value on
failure.
Errors
The DbEnv.log_flush method may fail and throw an exception encapsulating a non-zero error for the following conditions:
- EINVAL
- An invalid flag value or parameter was specified.
The record to be logged is larger than the maximum log record.
The DbEnv.log_put method may fail and throw an exception for errors specified for other Berkeley DB and C library or system methods.
If a catastrophic error has occurred, the DbEnv.log_put method may fail and
throw a DbRunRecoveryException,
in which case all subsequent Berkeley DB calls will fail in the same way.
Class
DbEnv, DbLogc, DbLsn
See Also
Logging Subsystem and Related Methods
Copyright Sleepycat Software
|