txn_checkpoint

APIRef

#include <db.h>

int txn_checkpoint(const DB_ENV *env, u_int32_t kbyte, u_int32_t min, u_int32_t flags);

Description

The txn_checkpoint function flushes the underlying memory pool, writes a checkpoint record to the log and then flushes the log.

If either kbyte or min is non-zero, the checkpoint is only done if there has been activity since the last checkpoint and either more than min minutes have passed since the last checkpoint, or if more than kbyte kilobytes of log data have been written since the last checkpoint.

The flags parameter must be set to 0 or one of the following values:

DB_FORCE
Force a checkpoint record even if there has been no activity since the last checkpoint.

The txn_checkpoint function returns a non-zero error value on failure, 0 on success, and returns DB_INCOMPLETE if there were pages that needed to be written but that memp_sync was unable to write immediately. In this case, the txn_checkpoint call should be retried.

The txn_checkpoint function is the underlying function used by the db_checkpoint utility. See the db_checkpoint utility source code for an example of using txn_checkpoint in a IEEE/ANSI Std 1003.1 (POSIX) environment.

Errors

The txn_checkpoint function may fail and return a non-zero error for the following conditions:

EINVAL
An invalid flag value or parameter was specified.

The txn_checkpoint function may fail and return a non-zero error for errors specified for other Berkeley DB and C library or system functions. If a catastrophic error has occurred, the txn_checkpoint function may fail and return DB_RUNRECOVERY, in which case all subsequent Berkeley DB calls will fail in the same way.

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.

APIRef

Copyright Sleepycat Software