From d6828370a5d92a61282c58963a4fb2be4a750c67 Mon Sep 17 00:00:00 2001 From: hjxilinx Date: Wed, 8 Jan 2020 17:20:08 +0800 Subject: [PATCH] add more default int hash function. --- src/util/src/thashutil.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/util/src/thashutil.c b/src/util/src/thashutil.c index 6166929c72..6ad41a3e78 100644 --- a/src/util/src/thashutil.c +++ b/src/util/src/thashutil.c @@ -78,6 +78,8 @@ uint32_t MurmurHash3_32(const char *key, uint32_t len) { } uint32_t taosIntHash_32(const char *key, uint32_t UNUSED_PARAM(len)) { return *(uint32_t *)key; } +uint32_t taosIntHash_16(const char *key, uint32_t UNUSED_PARAM(len)) { return *(uint16_t *)key; } +uint32_t taosIntHash_8(const char *key, uint32_t UNUSED_PARAM(len)) { return *(uint8_t *)key; } uint32_t taosIntHash_64(const char *key, uint32_t UNUSED_PARAM(len)) { uint64_t val = *(uint64_t *)key; @@ -94,6 +96,8 @@ _hash_fn_t taosGetDefaultHashFunction(int32_t type) { case TSDB_DATA_TYPE_BIGINT: fn = taosIntHash_64;break; case TSDB_DATA_TYPE_BINARY: fn = MurmurHash3_32;break; case TSDB_DATA_TYPE_INT: fn = taosIntHash_32; break; + case TSDB_DATA_TYPE_SMALLINT: fn = taosIntHash_16; break; + case TSDB_DATA_TYPE_TINYINT: fn = taosIntHash_8; break; default: fn = taosIntHash_32;break; } -- GitLab