June 2001
Intermediate to advanced
688 pages
19h 18m
English
#include <db.h> int DB→set_h_hash(DB *db, u_int32_t (*h_hash_fcn)(DB *, const void *bytes, u_int32_t length));
Set a user-defined hash method; if no hash method is specified, a default hash method is used. Because no hash method performs equally well on all possible data, the user may find that the built-in hash method performs poorly with a particular data set. User-specified hash functions must take a pointer to a byte string and a length as arguments, and return a value of type u_int32_t. The hash function must handle any key values used by the application (possibly including zero-length keys).
If a hash method is specified, DB→open will attempt to determine whether the hash method specified is the same as the ...