DBENV->set_tx_recover
|
|
#include <db.h>
int
DBENV->set_tx_recover(DB_ENV *dbenv,
int (*tx_recover)(DB_ENV *dbenv,
DBT *log_rec, DB_LSN *lsnp, db_recops op, void *info));
Description
Set the function that is called by txn_abort during transaction
abort.
This function must return the value of errno on failure and 0
on success. It takes five arguments:
- dbenv
- A pointer to the environment (DB_ENV *).
- log_rec
- A log record.
- lsnp
- A pointer to a log sequence number.
- op
- A variable set to one of the following values:
- DB_TXN_BACKWARD_ROLL
- The log is being read backward to determine which transactions have been
committed and to abort those operations that were not. Undo the operation
described by the log record.
- DB_TXN_FORWARD_ROLL
- The log is being played forward, any transaction IDs encountered that
have not been entered into the list referenced by info should be
ignored. Redo the operation described by the log record.
- DB_TXN_OPENFILES
- The log is being read to open all the files required to perform recovery.
User defined operations will not normally see this operation.
- DB_TXN_ABORT
- The log is being read backwards during a transaction abort. Undo the
operation described by the log record.
- info
- An opaque pointer used to reference the list of transaction IDs encountered
during recovery.
If no recover function is specified, the default is that only Berkeley DB access
method operations are transaction protected, and the default recover function
will be used.
The DBENV->set_tx_recover interface may only be used to configure Berkeley DB before
the DBENV->open interface is called.
The DBENV->set_tx_recover function returns a non-zero error value on failure and 0 on success.
Errors
- EINVAL
- An invalid flag value or parameter was specified.
Called after DBENV->open was called.
See Also
DBENV->set_tx_max,
DBENV->set_tx_recover,
DBENV->set_tx_timestamp,
txn_abort,
txn_begin,
txn_checkpoint,
txn_commit,
txn_id,
txn_prepare
and
txn_stat.
Copyright Sleepycat Software