Merge pull request #19735 from taosdata/fix/nodisk
fix(query): move the reset to other place.
This commit is contained in:
commit
5215a218d4
|
@ -2693,10 +2693,6 @@ static void extractOrderedTableUidList(SUidOrderCheckInfo* pOrderCheckInfo, SRea
|
|||
void* p = taosHashIterate(pStatus->pTableMap, NULL);
|
||||
while (p != NULL) {
|
||||
STableBlockScanInfo* pScanInfo = *(STableBlockScanInfo**)p;
|
||||
|
||||
// reset the last del file index
|
||||
pScanInfo->lastBlockDelIndex = getInitialDelIndex(pScanInfo->delSkyline, order);
|
||||
|
||||
pOrderCheckInfo->tableUidList[index++] = pScanInfo->uid;
|
||||
p = taosHashIterate(pStatus->pTableMap, p);
|
||||
}
|
||||
|
@ -2704,6 +2700,18 @@ static void extractOrderedTableUidList(SUidOrderCheckInfo* pOrderCheckInfo, SRea
|
|||
taosSort(pOrderCheckInfo->tableUidList, total, sizeof(uint64_t), uidComparFunc);
|
||||
}
|
||||
|
||||
// reset the last del file index
|
||||
static void resetScanBlockLastBlockDelIndex(SReaderStatus* pStatus, int32_t order) {
|
||||
void* p = taosHashIterate(pStatus->pTableMap, NULL);
|
||||
while (p != NULL) {
|
||||
STableBlockScanInfo* pScanInfo = *(STableBlockScanInfo**)p;
|
||||
|
||||
// reset the last del file index
|
||||
pScanInfo->lastBlockDelIndex = getInitialDelIndex(pScanInfo->delSkyline, order);
|
||||
p = taosHashIterate(pStatus->pTableMap, p);
|
||||
}
|
||||
}
|
||||
|
||||
static int32_t initOrderCheckInfo(SUidOrderCheckInfo* pOrderCheckInfo, STsdbReader* pReader) {
|
||||
SReaderStatus* pStatus = &pReader->status;
|
||||
|
||||
|
@ -3052,6 +3060,7 @@ static int32_t buildBlockFromFiles(STsdbReader* pReader) {
|
|||
|
||||
// this file does not have data files, let's start check the last block file if exists
|
||||
if (pBlockIter->numOfBlocks == 0) {
|
||||
resetScanBlockLastBlockDelIndex(&pReader->status, pReader->order);
|
||||
goto _begin;
|
||||
}
|
||||
}
|
||||
|
@ -3083,6 +3092,7 @@ static int32_t buildBlockFromFiles(STsdbReader* pReader) {
|
|||
// data blocks in current file are exhausted, let's try the next file now
|
||||
tBlockDataReset(&pReader->status.fileBlockData);
|
||||
resetDataBlockIterator(pBlockIter, pReader->order);
|
||||
resetScanBlockLastBlockDelIndex(&pReader->status, pReader->order);
|
||||
goto _begin;
|
||||
} else {
|
||||
code = initForFirstBlockInFile(pReader, pBlockIter);
|
||||
|
@ -3094,6 +3104,7 @@ static int32_t buildBlockFromFiles(STsdbReader* pReader) {
|
|||
|
||||
// this file does not have blocks, let's start check the last block file
|
||||
if (pBlockIter->numOfBlocks == 0) {
|
||||
resetScanBlockLastBlockDelIndex(&pReader->status, pReader->order);
|
||||
goto _begin;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,14 +28,14 @@ static void median(void *src, int64_t size, int64_t s, int64_t e, const void *pa
|
|||
void *buf) {
|
||||
int32_t mid = ((int32_t)(e - s) >> 1u) + (int32_t)s;
|
||||
|
||||
if (comparFn(elePtrAt(src, size, mid), elePtrAt(src, size, s), param) == 1) {
|
||||
if (comparFn(elePtrAt(src, size, mid), elePtrAt(src, size, s), param) > 0) {
|
||||
doswap(elePtrAt(src, size, mid), elePtrAt(src, size, s), size, buf);
|
||||
}
|
||||
|
||||
if (comparFn(elePtrAt(src, size, mid), elePtrAt(src, size, e), param) == 1) {
|
||||
if (comparFn(elePtrAt(src, size, mid), elePtrAt(src, size, e), param) > 0) {
|
||||
doswap(elePtrAt(src, size, mid), elePtrAt(src, size, s), size, buf);
|
||||
doswap(elePtrAt(src, size, mid), elePtrAt(src, size, e), size, buf);
|
||||
} else if (comparFn(elePtrAt(src, size, s), elePtrAt(src, size, e), param) == 1) {
|
||||
} else if (comparFn(elePtrAt(src, size, s), elePtrAt(src, size, e), param) > 0) {
|
||||
doswap(elePtrAt(src, size, s), elePtrAt(src, size, e), size, buf);
|
||||
}
|
||||
|
||||
|
@ -47,7 +47,7 @@ static void tInsertSort(void *src, int64_t size, int32_t s, int32_t e, const voi
|
|||
void *buf) {
|
||||
for (int32_t i = s + 1; i <= e; ++i) {
|
||||
for (int32_t j = i; j > s; --j) {
|
||||
if (comparFn(elePtrAt(src, size, j), elePtrAt(src, size, j - 1), param) == -1) {
|
||||
if (comparFn(elePtrAt(src, size, j), elePtrAt(src, size, j - 1), param) < 0) {
|
||||
doswap(elePtrAt(src, size, j), elePtrAt(src, size, j - 1), size, buf);
|
||||
} else {
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue