# Db::truncate

`

###

    #include <db_cxx.h>

    int
    Db::truncate(DbTxn *txnid, u_int32_t *countp, u_int32_t flags);

# Description

The Db::truncate interface empties the database, discarding all records it contains. The number of records discarded from the database is returned in countp.

If the operation is to be transaction-protected (other than by specifying the DB_AUTO_COMMIT flag), the txnid parameter is a transaction handle returned from DbEnv::txn_begin; otherwise, NULL.

The flags value must be set to 0 or the following value:

DB_AUTO_COMMIT
  Enclose the Db::truncate call within a transaction. If the call succeeds, changes made by the operation will be recoverable. If the call fails, the operation will have made no changes.

The Db::truncate 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 Db::truncate method may fail and throw an exception or return a non-zero error for the following conditions:

The Db::truncate 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 Db::truncate 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

Db

# See Also

Databases and Related Methods`

Copyright Sleepycat Software