#include <db_cxx.h> int Db::truncate(DbTxn *txnid, u_int32_t *countp, u_int32_t flags);
         The Db::truncate() method empties the database, discarding all
         records it contains.  The number of records discarded from the
         database is returned in countp.
    
         When called on a database configured with secondary indices using the
         Db::associate() 
         method, the Db::truncate() method truncates the primary database and
         all secondary indices.  A count of the records discarded from the
         primary database is returned.
    
         It is an error to call the Db::truncate() method on a database with
         open cursors.
    
         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.
            
        
    
If the operation is part of an application-specified transaction, the txnid parameter is a transaction handle returned from DbEnv::txn_begin(); if the operation is part of a Berkeley DB Concurrent Data Store group, the txnid parameter is a handle returned from DbEnv::cdsgroup_begin(); otherwise NULL. If no transaction handle is specified, but the operation occurs in a transactional database, the operation will be implicitly transaction protected.
The countp parameter references memory into which the number of records discarded from the database is copied.
                         The Db::truncate() 
            
            
                method may fail and throw a DbException 
                exception, encapsulating one of the following non-zero errors, or return one
                of the following non-zero errors:
            
        
                    
A transactional database environment operation was selected to resolve a deadlock.
                DbDeadlockException is thrown if
                your Berkeley DB API is configured to throw exceptions.
                Otherwise, DB_LOCK_DEADLOCK is returned.
            
A Berkeley DB Concurrent Data Store database environment configured for lock timeouts was unable to grant a lock in the allowed time.
You attempted to open a database handle that is configured for no waiting exclusive locking, but the exclusive lock could not be immediately obtained. See Db::set_lk_exclusive() for more information.
                DbLockNotGrantedException is thrown if
                your Berkeley DB API is configured to throw exceptions.
                Otherwise, DB_LOCK_NOTGRANTED is returned.