txn_checkpoint

APIRef

#include <db.h>

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

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 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 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 POSIX 1003.1 environment.

Errors

If a fatal error occurs in Berkeley DB, the txn_checkpoint function will fail and return DB_RUNRECOVERY, at which point all subsequent database calls will fail in the same way.

In addition, 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.

In addition, 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.

See Also

DBENV->set_tx_max, DBENV->set_tx_recover, txn_abort, txn_begin, txn_checkpoint, txn_commit, txn_id, txn_prepare and txn_stat.

APIRef

Copyright Sleepycat Software