DbEnv::set_tx_timestamp

APIRef

#include <db_cxx.h>

int DbEnv::set_tx_timestamp(time_t *timestamp);

Description

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.

Errors

The DbEnv::set_tx_timestamp method may fail and throw an exception or return a non-zero error for the following conditions:

EINVAL
An invalid flag value or parameter was specified.

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.

Class

DbEnv, DbTxn

See Also

Transaction Subsystem and Related Methods

APIRef

Copyright Sleepycat Software