Db::set_h_nelem()
Prev | Chapter 2. The Db Handle | Next

## 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

Prev | Up | Next
Db::set_h_hash() | Home | Db::set_lorder()