DbEnv::txn_recover API Ref

#include <db_cxx.h>

int DbEnv::txn_recover(DB_PREPLIST preplist[], long count, long *retp, u_int32_t flags);


Description: DbEnv::txn_recover

Database environment recovery restores transactions that were prepared, but not yet resolved at the time of the system shut down or crash, to their state prior to the shut down or crash, including any locks previously held. The DbEnv::txn_recover method returns a list of those prepared transactions.

The DbEnv::txn_recover method should only be called after the environment has been recovered.

Multiple threads of control may call DbEnv::txn_recover, but only one thread of control may resolve each returned transaction, that is, only one thread of control may call DbTxn::commit or DbTxn::abort on each returned transaction. Callers of DbEnv::txn_recover must call DbTxn::discard to discard each transaction they do not resolve.

On return from DbEnv::txn_recover, the preplist parameter will be filled in with a list of transactions that must be resolved by the application (committed, aborted or discarded). The preplist parameter is a structure of type DB_PREPLIST; the following DB_PREPLIST fields will be filled in:


DB_TXN * txn; u_int8_t gid[DB_XIDDATASIZE];

The DbEnv::txn_recover 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.

Parameters
count flags preplist


Class DbEnv, DbTxn
See Also Transaction Subsystem and Related Methods

APIRef

Copyright (c) 1996,2008 Oracle. All rights reserved.