fix bug
This commit is contained in:
parent
9be55c32b1
commit
6eeb539807
|
@ -268,6 +268,8 @@ TsdbQueryHandleT tsdbQueryLastRow(STsdbRepo *tsdb, STsdbQueryCond *pCond, STable
|
||||||
|
|
||||||
TsdbQueryHandleT tsdbQueryCacheLast(STsdbRepo *tsdb, STsdbQueryCond *pCond, STableGroupInfo *groupList, uint64_t qId, SMemRef* pMemRef);
|
TsdbQueryHandleT tsdbQueryCacheLast(STsdbRepo *tsdb, STsdbQueryCond *pCond, STableGroupInfo *groupList, uint64_t qId, SMemRef* pMemRef);
|
||||||
|
|
||||||
|
bool isTsdbCacheLastRow(TsdbQueryHandleT* pQueryHandle);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get the queried table object list
|
* get the queried table object list
|
||||||
|
|
|
@ -4243,7 +4243,7 @@ static SSDataBlock* doTableScan(void* param, bool *newgroup) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (++pTableScanInfo->current >= pTableScanInfo->times) {
|
if (++pTableScanInfo->current >= pTableScanInfo->times) {
|
||||||
if (pTableScanInfo->reverseTimes <= 0) {
|
if (pTableScanInfo->reverseTimes <= 0 || isTsdbCacheLastRow(pTableScanInfo->pQueryHandle)) {
|
||||||
return NULL;
|
return NULL;
|
||||||
} else {
|
} else {
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -547,7 +547,9 @@ TsdbQueryHandleT tsdbQueryCacheLast(STsdbRepo *tsdb, STsdbQueryCond *pCond, STab
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
pQueryHandle->type = TSDB_QUERY_TYPE_LAST;
|
if (pQueryHandle->cachelastrow) {
|
||||||
|
pQueryHandle->type = TSDB_QUERY_TYPE_LAST;
|
||||||
|
}
|
||||||
|
|
||||||
return pQueryHandle;
|
return pQueryHandle;
|
||||||
}
|
}
|
||||||
|
@ -2873,6 +2875,10 @@ int32_t tsdbGetCachedLastRow(STable* pTable, SDataRow* pRes, TSKEY* lastKey) {
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool isTsdbCacheLastRow(TsdbQueryHandleT* pQueryHandle) {
|
||||||
|
return ((STsdbQueryHandle *)pQueryHandle)->cachelastrow > 0;
|
||||||
|
}
|
||||||
|
|
||||||
int32_t checkForCachedLastRow(STsdbQueryHandle* pQueryHandle, STableGroupInfo *groupList) {
|
int32_t checkForCachedLastRow(STsdbQueryHandle* pQueryHandle, STableGroupInfo *groupList) {
|
||||||
assert(pQueryHandle != NULL && groupList != NULL);
|
assert(pQueryHandle != NULL && groupList != NULL);
|
||||||
|
|
||||||
|
@ -2921,7 +2927,6 @@ int32_t checkForCachedLast(STsdbQueryHandle* pQueryHandle, STableGroupInfo *grou
|
||||||
if (((STable*)pInfo->pTable)->lastCols && ((STable*)pInfo->pTable)->lastColNum > 0){
|
if (((STable*)pInfo->pTable)->lastCols && ((STable*)pInfo->pTable)->lastColNum > 0){
|
||||||
pQueryHandle->cachelastrow = 2;
|
pQueryHandle->cachelastrow = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// update the tsdb query time range
|
// update the tsdb query time range
|
||||||
if (pQueryHandle->cachelastrow) {
|
if (pQueryHandle->cachelastrow) {
|
||||||
|
|
Loading…
Reference in New Issue