fix(tsdb): set correct initial value for compare.
This commit is contained in:
parent
2b953735bc
commit
6127185e3b
|
@ -121,7 +121,11 @@ int32_t pkCompEx(SRowKey* p1, SRowKey* p2) {
|
|||
return ret > 0 ? 1 : -1;
|
||||
}
|
||||
} else {
|
||||
return p1->pks[0].val - p2->pks[0].val;
|
||||
if (p1->pks[0].val == p2->pks[0].val) {
|
||||
return 0;
|
||||
} else {
|
||||
return p1->pks[0].val > p2->pks[0].val? 1:-1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -137,22 +137,7 @@ 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)) {
|
||||
char* p = (char*)&pKey->pks[0].val;
|
||||
if (asc) {
|
||||
switch(pKey->pks[0].type) {
|
||||
case TSDB_DATA_TYPE_BIGINT:*(int64_t*)p = INT64_MIN;break;
|
||||
case TSDB_DATA_TYPE_INT:*(int32_t*)p = INT32_MIN;break;
|
||||
case TSDB_DATA_TYPE_SMALLINT:*(int16_t*)p = INT16_MIN;break;
|
||||
case TSDB_DATA_TYPE_TINYINT:*(int8_t*)p = INT8_MIN;break;
|
||||
}
|
||||
} else {
|
||||
switch(pKey->pks[0].type) {
|
||||
case TSDB_DATA_TYPE_BIGINT:*(int64_t*)p = INT64_MAX;break;
|
||||
case TSDB_DATA_TYPE_INT:*(int32_t*)p = INT32_MAX;break;
|
||||
case TSDB_DATA_TYPE_SMALLINT:*(int16_t*)p = INT16_MAX;break;
|
||||
case TSDB_DATA_TYPE_TINYINT:*(int8_t*)p = INT8_MAX;break;
|
||||
}
|
||||
}
|
||||
pKey->pks[0].val = asc? INT64_MIN:INT64_MAX;
|
||||
} else {
|
||||
pKey->pks[0].pData = taosMemoryCalloc(1, len);
|
||||
pKey->pks[0].nData = 0;
|
||||
|
|
Loading…
Reference in New Issue