int txn_checkpoint(const DB_ENV *env, u_int32_t kbyte, u_int32_t min, u_int32_t flags);
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 done only 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 value must be set to 0 or the following value:
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 to complete the checkpoint but that memp_sync was unable to write immediately.
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.
The txn_checkpoint function may fail and return a non-zero error for the following conditions:
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.
Copyright Sleepycat Software