Db::set_h_nelem()

#include <db_cxx.h>

int
Db::set_h_nelem(u_int32_t h_nelem); 

Set an estimate of the final size of the hash table.

In order for the estimate to be used when creating the database, the Db::set_h_ffactor() method must also be called. If the estimate or fill factor are not set or are set too low, hash tables will still expand gracefully as keys are entered, although a slight performance degradation may be noticed.

The Db::set_h_nelem() method configures a database, not only operations performed using the specified Db handle.

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

The Db::set_h_nelem() 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

h_nelem

The h_nelem parameter is an estimate of the final size of the hash table.

Errors

The Db::set_h_nelem() 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 Db::open() was called; or if an invalid flag value or parameter was specified.

Class

Db

See Also

Database and Related Methods