#include <db.h>

DB_ENV->set_lk_max_locks(DB_ENV *dbenv, u_int32_t max);  

This method is deprecated. Instead, use DB_ENV->set_memory_init() , DB_ENV->set_memory_max() , and DB_ENV->set_lk_tablesize() .

Set the maximum number of locks supported by the Berkeley DB environment. This value is used by DB_ENV->open() to estimate how much space to allocate for various lock-table data structures. The default value is 1000 locks. The final value specified for the locks should be more than or equal to the number of lock table partitions. For specific information on configuring the size of the lock subsystem, see Configuring locking: sizing the system.

The database environment's maximum number of locks may also be configured using the environment's DB_CONFIG file. The syntax of the entry in that file is a single line with the string "set_lk_max_locks", one or more whitespace characters, and the number of locks. Because the DB_CONFIG file is read when the database environment is opened, it will silently overrule configuration done before that time.

The DB_ENV->set_lk_max_locks() method configures a database environment, not only operations performed using the specified DB_ENV handle.

The DB_ENV->set_lk_max_locks() method may not be called after the DB_ENV->open() method is called. If the database environment already exists when DB_ENV->open() is called, the information specified to DB_ENV->set_lk_max_locks() will be ignored.

The DB_ENV->set_lk_max_locks() method returns a non-zero error value on failure and 0 on success.



The max parameter is the maximum number of locks supported by the Berkeley DB environment.


The DB_ENV->set_lk_max_locks() method may fail and return one of the following non-zero errors:


If the method was called after DB_ENV->open() was called; or if an invalid flag value or parameter was specified.



See Also

Locking Subsystem and Related Methods