summaryrefslogtreecommitdiff
path: root/mysys/hash.cc
diff options
context:
space:
mode:
Diffstat (limited to 'mysys/hash.cc')
-rw-r--r--mysys/hash.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/mysys/hash.cc b/mysys/hash.cc
index d29297a5233..0ea8a802ef0 100644
--- a/mysys/hash.cc
+++ b/mysys/hash.cc
@@ -41,6 +41,17 @@ static void movelink(HASH_LINK *array,uint pos,uint next_link,uint newlink);
static int hashcmp(const HASH *hash, HASH_LINK *pos, const uchar *key,
size_t length);
+my_hash_value_type generic_hash_fnv1a(CHARSET_INFO *, const uchar *p, size_t sz)
+{
+ size_t result= static_cast<size_t>(14695981039346656037ULL);
+ for (; sz--; )
+ {
+ result ^= static_cast<size_t>(*p++);
+ result *= static_cast<size_t>(1099511628211ULL);
+ }
+ return static_cast<my_hash_value_type>(result);
+}
+
my_hash_value_type my_hash_sort(CHARSET_INFO *cs, const uchar *key,
size_t length)
{