未验证 提交 c6eea28e 编写于 作者: H Haojun Liao 提交者: GitHub

Merge pull request #6803 from taosdata/hotfix/TD-5101

[TD-5101]fix bool hash issue
...@@ -126,15 +126,38 @@ _hash_fn_t taosGetDefaultHashFunction(int32_t type) { ...@@ -126,15 +126,38 @@ _hash_fn_t taosGetDefaultHashFunction(int32_t type) {
_hash_fn_t fn = NULL; _hash_fn_t fn = NULL;
switch(type) { switch(type) {
case TSDB_DATA_TYPE_TIMESTAMP: case TSDB_DATA_TYPE_TIMESTAMP:
case TSDB_DATA_TYPE_BIGINT: fn = taosIntHash_64;break; case TSDB_DATA_TYPE_UBIGINT:
case TSDB_DATA_TYPE_BINARY: fn = MurmurHash3_32;break; case TSDB_DATA_TYPE_BIGINT:
case TSDB_DATA_TYPE_NCHAR: fn = MurmurHash3_32;break; fn = taosIntHash_64;
case TSDB_DATA_TYPE_INT: fn = taosIntHash_32; break; break;
case TSDB_DATA_TYPE_SMALLINT: fn = taosIntHash_16; break; case TSDB_DATA_TYPE_BINARY:
case TSDB_DATA_TYPE_TINYINT: fn = taosIntHash_8; break; fn = MurmurHash3_32;
case TSDB_DATA_TYPE_FLOAT: fn = taosFloatHash; break; break;
case TSDB_DATA_TYPE_DOUBLE: fn = taosDoubleHash; break; case TSDB_DATA_TYPE_NCHAR:
default: fn = taosIntHash_32;break; fn = MurmurHash3_32;
break;
case TSDB_DATA_TYPE_UINT:
case TSDB_DATA_TYPE_INT:
fn = taosIntHash_32;
break;
case TSDB_DATA_TYPE_SMALLINT:
case TSDB_DATA_TYPE_USMALLINT:
fn = taosIntHash_16;
break;
case TSDB_DATA_TYPE_BOOL:
case TSDB_DATA_TYPE_UTINYINT:
case TSDB_DATA_TYPE_TINYINT:
fn = taosIntHash_8;
break;
case TSDB_DATA_TYPE_FLOAT:
fn = taosFloatHash;
break;
case TSDB_DATA_TYPE_DOUBLE:
fn = taosDoubleHash;
break;
default:
fn = taosIntHash_32;
break;
} }
return fn; return fn;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册