diff --git a/source/dnode/vnode/src/tsdb/tsdbReadUtil.c b/source/dnode/vnode/src/tsdb/tsdbReadUtil.c index acfb541706..c805d2f93f 100644 --- a/source/dnode/vnode/src/tsdb/tsdbReadUtil.c +++ b/source/dnode/vnode/src/tsdb/tsdbReadUtil.c @@ -137,7 +137,21 @@ int32_t initRowKey(SRowKey* pKey, int64_t ts, int32_t numOfPks, int32_t type, in if (numOfPks > 0) { pKey->pks[0].type = type; if (IS_NUMERIC_TYPE(pKey->pks[0].type)) { - pKey->pks[0].val = asc? INT64_MIN:INT64_MAX; + if (asc) { + switch(pKey->pks[0].type) { + case TSDB_DATA_TYPE_BIGINT:pKey->pks[0].val = INT64_MIN;break; + case TSDB_DATA_TYPE_INT:pKey->pks[0].val = INT32_MIN;break; + case TSDB_DATA_TYPE_SMALLINT:pKey->pks[0].val = INT16_MIN;break; + case TSDB_DATA_TYPE_TINYINT:pKey->pks[0].val = INT8_MIN;break; + } + } else { + switch(pKey->pks[0].type) { + case TSDB_DATA_TYPE_BIGINT:pKey->pks[0].val = INT64_MAX;break; + case TSDB_DATA_TYPE_INT:pKey->pks[0].val = INT32_MAX;break; + case TSDB_DATA_TYPE_SMALLINT:pKey->pks[0].val = INT16_MAX;break; + case TSDB_DATA_TYPE_TINYINT:pKey->pks[0].val = INT8_MAX;break; + } + } } else { pKey->pks[0].pData = taosMemoryCalloc(1, len); pKey->pks[0].nData = 0;