DbEnv::set_lk_max_objects()

#include <db_cxx.h>

int
DbEnv::set_lk_max_objects(u_int32_t max); 

This method is deprecated. Instead, use DbEnv::set_memory_init(), DbEnv::set_memory_max(), and DbEnv::set_lk_tablesize().

Set the maximum number of locked objects supported by the Berkeley DB environment. This value is used by DbEnv::open() to estimate how much space to allocate for various lock-table data structures. The default value is 1000 objects. The final value specified for the lock objects 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 objects 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_objects", one or more whitespace characters, and the number of objects. Because the DB_CONFIG file is read when the database environment is opened, it will silently overrule configuration done before that time.

The DbEnv::set_lk_max_objects() method configures a database environment, not only operations performed using the specified DbEnv handle.

The DbEnv::set_lk_max_objects() method may not be called after the DbEnv::open() method is called. If the database environment already exists when DbEnv::open() is called, the information specified to DbEnv::set_lk_max_objects() will be ignored.

The DbEnv::set_lk_max_objects() 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.

Parameters

max

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

Errors

The DbEnv::set_lk_max_objects() 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:

EINVAL

If the method was called after DbEnv::open() was called; or if an invalid flag value or parameter was specified.

Class

DbEnv, DbLock

See Also

Locking Subsystem and Related Methods