DbEnv::set_tx_timestamp |
#include <db_cxx.h>int DbEnv::set_tx_timestamp(time_t *timestamp);
Recover to the time specified by timestamp rather than to the most current possible date. The timestamp argument should be the number of seconds since 0 hours, 0 minutes, 0 seconds, January 1, 1970, Coordinated Universal Time; that is, the Epoch.
Once a database environment has been upgraded to a new version of Berkeley DB involving a log format change (see Upgrading Berkeley DB installations), it is no longer possible to recover to a specific time before that upgrade.
The DbEnv::set_tx_timestamp method configures operations performed using the specified DbEnv handle, not all operations performed on the underlying database environment.
The DbEnv::set_tx_timestamp interface may not be called after the DbEnv::open interface is called.
The DbEnv::set_tx_timestamp 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 DbEnv::set_tx_timestamp method may fail and throw an exception or return a non-zero error for the following conditions:
It is not possible to recover to the specified time using the log files currently present in the environment.
The DbEnv::set_tx_timestamp method may fail and throw an exception or return a non-zero error for errors specified for other Berkeley DB and C library or system methods. If a catastrophic error has occurred, the DbEnv::set_tx_timestamp method may fail and either return DB_RUNRECOVERY or throw a DbRunRecoveryException, in which case all subsequent Berkeley DB calls will fail in the same way.