cache/last_row: treat none as null with last_row
This commit is contained in:
parent
26bfa4363d
commit
fc5d06681e
|
@ -404,7 +404,7 @@ int32_t tsdbCacheUpdate(STsdb *pTsdb, tb_uid_t suid, tb_uid_t uid, TSDBROW *pRow
|
||||||
for (int i = 0; i < num_keys; ++i) {
|
for (int i = 0; i < num_keys; ++i) {
|
||||||
SColVal *pColVal = (SColVal *)taosArrayGet(aColVal, i);
|
SColVal *pColVal = (SColVal *)taosArrayGet(aColVal, i);
|
||||||
|
|
||||||
if (!COL_VAL_IS_NONE(pColVal)) {
|
// if (!COL_VAL_IS_NONE(pColVal)) {
|
||||||
SLastCol *pLastCol = tsdbCacheDeserialize(values_list[i + num_keys]);
|
SLastCol *pLastCol = tsdbCacheDeserialize(values_list[i + num_keys]);
|
||||||
|
|
||||||
if (NULL == pLastCol || pLastCol->ts <= keyTs) {
|
if (NULL == pLastCol || pLastCol->ts <= keyTs) {
|
||||||
|
@ -457,8 +457,8 @@ int32_t tsdbCacheUpdate(STsdb *pTsdb, tb_uid_t suid, tb_uid_t uid, TSDBROW *pRow
|
||||||
charge += pLastCol->colVal.value.nData;
|
charge += pLastCol->colVal.value.nData;
|
||||||
}
|
}
|
||||||
|
|
||||||
LRUStatus status = taosLRUCacheInsert(pTsdb->lruCache, &key, ROCKS_KEY_LEN, pLastCol, charge,
|
LRUStatus status = taosLRUCacheInsert(pTsdb->lruCache, &key, ROCKS_KEY_LEN, pLastCol, charge, tsdbCacheDeleter,
|
||||||
tsdbCacheDeleter, NULL, TAOS_LRU_PRIORITY_LOW);
|
NULL, TAOS_LRU_PRIORITY_LOW);
|
||||||
if (status != TAOS_LRU_STATUS_OK) {
|
if (status != TAOS_LRU_STATUS_OK) {
|
||||||
code = -1;
|
code = -1;
|
||||||
}
|
}
|
||||||
|
@ -466,7 +466,7 @@ int32_t tsdbCacheUpdate(STsdb *pTsdb, tb_uid_t suid, tb_uid_t uid, TSDBROW *pRow
|
||||||
taosMemoryFree(value);
|
taosMemoryFree(value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
//}
|
||||||
|
|
||||||
rocksdb_free(values_list[i]);
|
rocksdb_free(values_list[i]);
|
||||||
rocksdb_free(values_list[i + num_keys]);
|
rocksdb_free(values_list[i + num_keys]);
|
||||||
|
@ -474,7 +474,7 @@ int32_t tsdbCacheUpdate(STsdb *pTsdb, tb_uid_t suid, tb_uid_t uid, TSDBROW *pRow
|
||||||
taosMemoryFree(values_list);
|
taosMemoryFree(values_list);
|
||||||
taosMemoryFree(values_list_sizes);
|
taosMemoryFree(values_list_sizes);
|
||||||
|
|
||||||
rocksMayWrite(pTsdb, false, false, false);
|
rocksMayWrite(pTsdb, true, false, false);
|
||||||
taosThreadMutexUnlock(&pTsdb->rCache.rMutex);
|
taosThreadMutexUnlock(&pTsdb->rCache.rMutex);
|
||||||
|
|
||||||
_exit:
|
_exit:
|
||||||
|
@ -3010,17 +3010,17 @@ static int32_t mergeLastRowCid(tb_uid_t uid, STsdb *pTsdb, SArray **ppLastArray,
|
||||||
memcpy(pCol->colVal.value.pData, pColVal->value.pData, pColVal->value.nData);
|
memcpy(pCol->colVal.value.pData, pColVal->value.pData, pColVal->value.nData);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (COL_VAL_IS_NONE(pColVal)) {
|
/*if (COL_VAL_IS_NONE(pColVal)) {
|
||||||
if (!setNoneCol) {
|
if (!setNoneCol) {
|
||||||
noneCol = iCol;
|
noneCol = iCol;
|
||||||
setNoneCol = true;
|
setNoneCol = true;
|
||||||
}
|
}
|
||||||
} else {
|
} else {*/
|
||||||
int32_t aColIndex = taosArraySearchIdx(aColArray, &pColVal->cid, compareInt16Val, TD_EQ);
|
int32_t aColIndex = taosArraySearchIdx(aColArray, &pColVal->cid, compareInt16Val, TD_EQ);
|
||||||
if (aColIndex >= 0) {
|
if (aColIndex >= 0) {
|
||||||
taosArrayRemove(aColArray, aColIndex);
|
taosArrayRemove(aColArray, aColIndex);
|
||||||
}
|
}
|
||||||
}
|
//}
|
||||||
}
|
}
|
||||||
if (!setNoneCol) {
|
if (!setNoneCol) {
|
||||||
// done, goto return pColArray
|
// done, goto return pColArray
|
||||||
|
|
Loading…
Reference in New Issue