#include <db.h>
int
DB->truncate(DB *db,
    DB_TXN *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 returns a non-zero error value on failure and 0 on success.
            
            
        
    
If the operation is part of an application-specified transaction, the txnid parameter is a transaction handle returned from DB_ENV->txn_begin(); if the operation is part of a Berkeley DB Concurrent Data Store group, the txnid parameter is a handle returned from DB_ENV->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 return one of the following non-zero errors:
            
            
        
                    
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.