fix(tsdb): set correct initial value for compare.
This commit is contained in:
parent
31f5b0dca7
commit
51dfa20cf4
|
@ -126,7 +126,7 @@ int32_t tsdbRowCompareWithoutVersion(const void *p1, const void *p2);
|
||||||
int32_t tsdbRowKeyCmpr(const STsdbRowKey *key1, const STsdbRowKey *key2);
|
int32_t tsdbRowKeyCmpr(const STsdbRowKey *key1, const STsdbRowKey *key2);
|
||||||
void tsdbRowGetKey(TSDBROW *row, STsdbRowKey *key);
|
void tsdbRowGetKey(TSDBROW *row, STsdbRowKey *key);
|
||||||
void tColRowGetKey(SBlockData *pBlock, int32_t irow, SRowKey *key);
|
void tColRowGetKey(SBlockData *pBlock, int32_t irow, SRowKey *key);
|
||||||
int32_t tRowKeyAssign(SRowKey *pDst, SRowKey *pSrc);
|
|
||||||
|
|
||||||
// STSDBRowIter
|
// STSDBRowIter
|
||||||
int32_t tsdbRowIterOpen(STSDBRowIter *pIter, TSDBROW *pRow, STSchema *pTSchema);
|
int32_t tsdbRowIterOpen(STSDBRowIter *pIter, TSDBROW *pRow, STSchema *pTSchema);
|
||||||
|
|
|
@ -124,7 +124,7 @@ int32_t pkCompEx(SRowKey* p1, SRowKey* p2) {
|
||||||
if (p1->pks[0].val == p2->pks[0].val) {
|
if (p1->pks[0].val == p2->pks[0].val) {
|
||||||
return 0;
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
return p1->pks[0].val > p2->pks[0].val? 1:-1;
|
return tValueCompare(&p1->pks[0], &p2->pks[0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -136,20 +136,51 @@ int32_t initRowKey(SRowKey* pKey, int64_t ts, int32_t numOfPks, int32_t type, in
|
||||||
|
|
||||||
if (numOfPks > 0) {
|
if (numOfPks > 0) {
|
||||||
pKey->pks[0].type = type;
|
pKey->pks[0].type = type;
|
||||||
if (IS_NUMERIC_TYPE(pKey->pks[0].type)) {
|
|
||||||
|
if (IS_NUMERIC_TYPE(type)) {
|
||||||
if (asc) {
|
if (asc) {
|
||||||
switch(pKey->pks[0].type) {
|
switch(type) {
|
||||||
case TSDB_DATA_TYPE_BIGINT:pKey->pks[0].val = INT64_MIN;break;
|
case TSDB_DATA_TYPE_BIGINT: {
|
||||||
case TSDB_DATA_TYPE_INT:pKey->pks[0].val = INT32_MIN;break;
|
pKey->pks[0].val = INT64_MIN;
|
||||||
case TSDB_DATA_TYPE_SMALLINT:pKey->pks[0].val = INT16_MIN;break;
|
break;
|
||||||
case TSDB_DATA_TYPE_TINYINT:pKey->pks[0].val = INT8_MIN;break;
|
}
|
||||||
|
case TSDB_DATA_TYPE_INT:{
|
||||||
|
int32_t min = INT32_MIN;
|
||||||
|
memcpy(&pKey->pks[0].val, &min, tDataTypes[type].bytes);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case TSDB_DATA_TYPE_SMALLINT:{
|
||||||
|
int16_t min = INT16_MIN;
|
||||||
|
memcpy(&pKey->pks[0].val, &min, tDataTypes[type].bytes);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case TSDB_DATA_TYPE_TINYINT:{
|
||||||
|
int8_t min = INT8_MIN;
|
||||||
|
memcpy(&pKey->pks[0].val, &min, tDataTypes[type].bytes);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case TSDB_DATA_TYPE_UTINYINT:
|
||||||
|
case TSDB_DATA_TYPE_USMALLINT:
|
||||||
|
case TSDB_DATA_TYPE_UINT:
|
||||||
|
case TSDB_DATA_TYPE_UBIGINT: {
|
||||||
|
pKey->pks[0].val = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
ASSERT(0);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
switch(pKey->pks[0].type) {
|
switch(type) {
|
||||||
case TSDB_DATA_TYPE_BIGINT:pKey->pks[0].val = INT64_MAX;break;
|
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_INT:pKey->pks[0].val = INT32_MAX;break;
|
||||||
case TSDB_DATA_TYPE_SMALLINT:pKey->pks[0].val = INT16_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;
|
case TSDB_DATA_TYPE_TINYINT:pKey->pks[0].val = INT8_MAX;break;
|
||||||
|
case TSDB_DATA_TYPE_UBIGINT:pKey->pks[0].val = UINT64_MAX;break;
|
||||||
|
case TSDB_DATA_TYPE_UINT:pKey->pks[0].val = UINT32_MAX;break;
|
||||||
|
case TSDB_DATA_TYPE_USMALLINT:pKey->pks[0].val = UINT16_MAX;break;
|
||||||
|
case TSDB_DATA_TYPE_UTINYINT:pKey->pks[0].val = UINT8_MAX;break;
|
||||||
|
default:
|
||||||
|
ASSERT(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue