option.
.TP
.B olcIndexHash64: { TRUE | FALSE }
-Use a 64 bit hash for indexing. The default is to use 32 bit hashes.
-These hashes are used for equality and substring indexing. The 64 bit
-version may be needed to avoid index collisions when the number of
+Use a 64 bit hash for indexing, otherwise 32 bit. The default is
+now 64 bit. These hashes are used for equality and substring indexing.
+The 64 bit version avoids index collisions when the number of
indexed values exceeds ~64 million. (Note that substring indexing
generates multiple index values per actual attribute value.)
Indices generated with 32 bit hashes are incompatible with the 64 bit
-version, and vice versa. Any existing databases must be fully reloaded
-when changing this setting. This directive is only supported on 64 bit CPUs.
+version, and vice versa. Any existing databases must be fully reindexed
+when changing this setting. Since 64 bit is now the default, this option
+is deprecated and will eventually be removed.
.TP
.B olcIndexIntLen: <integer>
Specify the key length for ordered integer indices. The most significant
continuing with the next line of the current file.
.TP
.B index_hash64 { on | off }
-Use a 64 bit hash for indexing. The default is to use 32 bit hashes.
-These hashes are used for equality and substring indexing. The 64 bit
-version may be needed to avoid index collisions when the number of
+Use a 64 bit hash for indexing, otherwise 32 bit. The default is
+now 64 bit. These hashes are used for equality and substring indexing.
+The 64 bit version avoids index collisions when the number of
indexed values exceeds ~64 million. (Note that substring indexing
generates multiple index values per actual attribute value.)
Indices generated with 32 bit hashes are incompatible with the 64 bit
-version, and vice versa. Any existing databases must be fully reloaded
-when changing this setting. This directive is only supported on 64 bit CPUs.
+version, and vice versa. Any existing databases must be fully reindexed
+when changing this setting. Since 64 bit is now the default, this option
+is deprecated and will eventually be removed.
.TP
.B index_intlen <integer>
Specify the key length for ordered integer indices. The most significant
#ifdef LUTIL_HASH64_BYTES
#define HASH_BYTES LUTIL_HASH64_BYTES
#define HASH_LEN hashlen
-static void (*hashinit)(lutil_HASH_CTX *ctx) = lutil_HASHInit;
-static void (*hashupdate)(lutil_HASH_CTX *ctx,unsigned char const *buf, ber_len_t len) = lutil_HASHUpdate;
-static void (*hashfinal)(unsigned char digest[HASH_BYTES], lutil_HASH_CTX *ctx) = lutil_HASHFinal;
-static int hashlen = LUTIL_HASH_BYTES;
+static void (*hashinit)(lutil_HASH_CTX *ctx) = lutil_HASH64Init;
+static void (*hashupdate)(lutil_HASH_CTX *ctx,unsigned char const *buf, ber_len_t len) = lutil_HASH64Update;
+static void (*hashfinal)(unsigned char digest[HASH_BYTES], lutil_HASH_CTX *ctx) = lutil_HASH64Final;
+static int hashlen = LUTIL_HASH64_BYTES;
#define HASH_Init(c) hashinit(c)
#define HASH_Update(c,buf,len) hashupdate(c,buf,len)
#define HASH_Final(d,c) hashfinal(d,c)
#define HASH_Update(c,buf,len) lutil_HASHUpdate(c,buf,len)
#define HASH_Final(d,c) lutil_HASHFinal(d,c)
-int slap_has64( int onoff )
+int slap_hash64( int onoff )
{
if ( onoff < 0 )
return 0;