fix(tsdb): add check for not load stt file blocks.
This commit is contained in:
parent
9c72ce846e
commit
63b34c7acf
|
@ -350,30 +350,33 @@ static int32_t loadSttStatisticsBlockData(SSttFileReader *pSttFileReader, SSttBl
|
||||||
tsdbSttFileReadStatisBlock(pSttFileReader, &pStatisBlkArray->data[k], &block);
|
tsdbSttFileReadStatisBlock(pSttFileReader, &pStatisBlkArray->data[k], &block);
|
||||||
|
|
||||||
int32_t i = 0;
|
int32_t i = 0;
|
||||||
while(block.suid->data[i] != suid) {
|
int32_t rows = TARRAY2_SIZE(block.suid);
|
||||||
|
while (i < rows && block.suid->data[i] != suid) {
|
||||||
++i;
|
++i;
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t rows = TARRAY2_SIZE(block.suid);
|
// existed
|
||||||
if (pBlockLoadInfo->info.pUid == NULL) {
|
if (i < rows) {
|
||||||
pBlockLoadInfo->info.pUid = taosArrayInit(rows, sizeof(int64_t));
|
if (pBlockLoadInfo->info.pUid == NULL) {
|
||||||
pBlockLoadInfo->info.pFirstKey = taosArrayInit(rows, sizeof(int64_t));
|
pBlockLoadInfo->info.pUid = taosArrayInit(rows, sizeof(int64_t));
|
||||||
pBlockLoadInfo->info.pLastKey = taosArrayInit(rows, sizeof(int64_t));
|
pBlockLoadInfo->info.pFirstKey = taosArrayInit(rows, sizeof(int64_t));
|
||||||
pBlockLoadInfo->info.pCount = taosArrayInit(rows, sizeof(int64_t));
|
pBlockLoadInfo->info.pLastKey = taosArrayInit(rows, sizeof(int64_t));
|
||||||
}
|
pBlockLoadInfo->info.pCount = taosArrayInit(rows, sizeof(int64_t));
|
||||||
|
}
|
||||||
|
|
||||||
if (pStatisBlkArray->data[k].maxTbid.suid == suid) {
|
if (pStatisBlkArray->data[k].maxTbid.suid == suid) {
|
||||||
taosArrayAddBatch(pBlockLoadInfo->info.pUid, &block.uid->data[i], rows - i);
|
taosArrayAddBatch(pBlockLoadInfo->info.pUid, &block.uid->data[i], rows - i);
|
||||||
taosArrayAddBatch(pBlockLoadInfo->info.pFirstKey, &block.firstKey->data[i], rows - i);
|
taosArrayAddBatch(pBlockLoadInfo->info.pFirstKey, &block.firstKey->data[i], rows - i);
|
||||||
taosArrayAddBatch(pBlockLoadInfo->info.pLastKey, &block.lastKey->data[i], rows - i);
|
taosArrayAddBatch(pBlockLoadInfo->info.pLastKey, &block.lastKey->data[i], rows - i);
|
||||||
taosArrayAddBatch(pBlockLoadInfo->info.pCount, &block.count->data[i], rows - i);
|
taosArrayAddBatch(pBlockLoadInfo->info.pCount, &block.count->data[i], rows - i);
|
||||||
} else {
|
} else {
|
||||||
while(i < rows && block.suid->data[i] == suid) {
|
while (i < rows && block.suid->data[i] == suid) {
|
||||||
taosArrayPush(pBlockLoadInfo->info.pUid, &block.uid->data[i]);
|
taosArrayPush(pBlockLoadInfo->info.pUid, &block.uid->data[i]);
|
||||||
taosArrayPush(pBlockLoadInfo->info.pFirstKey, &block.firstKey->data[i]);
|
taosArrayPush(pBlockLoadInfo->info.pFirstKey, &block.firstKey->data[i]);
|
||||||
taosArrayPush(pBlockLoadInfo->info.pLastKey, &block.lastKey->data[i]);
|
taosArrayPush(pBlockLoadInfo->info.pLastKey, &block.lastKey->data[i]);
|
||||||
taosArrayPush(pBlockLoadInfo->info.pCount, &block.count->data[i]);
|
taosArrayPush(pBlockLoadInfo->info.pCount, &block.count->data[i]);
|
||||||
i += 1;
|
i += 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1735,7 +1735,9 @@ int32_t initQueryTableDataCond(SQueryTableDataCond* pCond, const STableScanPhysi
|
||||||
pCond->skipRollup = readHandle->skipRollup;
|
pCond->skipRollup = readHandle->skipRollup;
|
||||||
|
|
||||||
// allowed read stt file optimization mode
|
// allowed read stt file optimization mode
|
||||||
pCond->notLoadData = (pTableScanNode->dataRequired == FUNC_DATA_REQUIRED_NOT_LOAD) && (pTableScanNode->scan.node.pConditions == NULL);
|
pCond->notLoadData = (pTableScanNode->dataRequired == FUNC_DATA_REQUIRED_NOT_LOAD) &&
|
||||||
|
(pTableScanNode->scan.node.pConditions == NULL) &&
|
||||||
|
(pTableScanNode->interval == 0);
|
||||||
|
|
||||||
int32_t j = 0;
|
int32_t j = 0;
|
||||||
for (int32_t i = 0; i < pCond->numOfCols; ++i) {
|
for (int32_t i = 0; i < pCond->numOfCols; ++i) {
|
||||||
|
|
Loading…
Reference in New Issue