DB->set_h_nelem()

#include <db.h>

int
DB->set_h_nelem(DB *db, 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 returns a non-zero error value on failure and 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 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