[tbase-1326]
This commit is contained in:
parent
38d377b421
commit
8636bc95aa
|
@ -528,8 +528,7 @@ void tscFetchDatablockFromSubquery(SSqlObj* pSql) {
|
|||
numOfFetch++;
|
||||
}
|
||||
} else {
|
||||
if ((pRes->row >= pRes->numOfRows && (!tscHasReachLimitation(pSql->pSubs[i])) &&
|
||||
tscProjectionQueryOnTable(&pSql->cmd)) || (pRes->numOfRows == 0)) {
|
||||
if (pRes->row >= pRes->numOfRows && (!tscHasReachLimitation(pSql->pSubs[i]))) {
|
||||
numOfFetch++;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -339,7 +339,7 @@ extern void * vnodeTmrCtrl;
|
|||
// read API
|
||||
extern int (*vnodeSearchKeyFunc[])(char *pValue, int num, TSKEY key, int order);
|
||||
|
||||
void *vnodeQueryInTimeRange(SMeterObj **pMeterObj, SSqlGroupbyExpr *pGroupbyExpr, SSqlFunctionExpr *sqlExprs,
|
||||
void *vnodeQueryOnSingleTable(SMeterObj **pMeterObj, SSqlGroupbyExpr *pGroupbyExpr, SSqlFunctionExpr *sqlExprs,
|
||||
SQueryMeterMsg *pQueryMsg, int *code);
|
||||
|
||||
void *vnodeQueryOnMultiMeters(SMeterObj **pMeterObj, SSqlGroupbyExpr *pGroupbyExpr, SSqlFunctionExpr *pSqlExprs,
|
||||
|
|
|
@ -890,8 +890,6 @@ static void vnodeMultiMeterQueryProcessor(SQInfo *pQInfo) {
|
|||
|
||||
dTrace("QInfo:%p points returned:%d, totalRead:%d totalReturn:%d", pQInfo, pQuery->pointsRead, pQInfo->pointsRead,
|
||||
pQInfo->pointsReturned);
|
||||
|
||||
vnodeDecRefCount(pQInfo);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -899,7 +897,6 @@ static void vnodeMultiMeterQueryProcessor(SQInfo *pQInfo) {
|
|||
if (pSupporter->pMeterDataInfo == NULL) {
|
||||
dError("QInfo:%p failed to allocate memory, %s", pQInfo, strerror(errno));
|
||||
pQInfo->code = -TSDB_CODE_SERV_OUT_OF_MEMORY;
|
||||
vnodeDecRefCount(pQInfo);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -916,7 +913,6 @@ static void vnodeMultiMeterQueryProcessor(SQInfo *pQInfo) {
|
|||
// failed to save all intermediate results into disk, abort further query processing
|
||||
if (doCloseAllOpenedResults(pSupporter) != TSDB_CODE_SUCCESS) {
|
||||
dError("QInfo:%p failed to save intermediate results, abort further query processing", pQInfo);
|
||||
vnodeDecRefCount(pQInfo);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -924,7 +920,6 @@ static void vnodeMultiMeterQueryProcessor(SQInfo *pQInfo) {
|
|||
|
||||
if (isQueryKilled(pQuery)) {
|
||||
dTrace("QInfo:%p query killed, abort", pQInfo);
|
||||
vnodeDecRefCount(pQInfo);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -946,7 +941,6 @@ static void vnodeMultiMeterQueryProcessor(SQInfo *pQInfo) {
|
|||
pQInfo->pointsRead += pQuery->pointsRead;
|
||||
dTrace("QInfo:%p points returned:%d, totalRead:%d totalReturn:%d", pQInfo, pQuery->pointsRead, pQInfo->pointsRead,
|
||||
pQInfo->pointsReturned);
|
||||
vnodeDecRefCount(pQInfo);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -512,8 +512,9 @@ void vnodeDecRefCount(void *param) {
|
|||
assert(vnodeIsQInfoValid(pQInfo));
|
||||
|
||||
int32_t ref = atomic_sub_fetch_32(&pQInfo->refCount, 1);
|
||||
dTrace("QInfo:%p decrease obj refcount, %d", pQInfo, ref);
|
||||
assert(ref >= 0);
|
||||
|
||||
dTrace("QInfo:%p decrease obj refcount, %d", pQInfo, ref);
|
||||
if (ref == 0) {
|
||||
vnodeFreeQInfo(pQInfo, true);
|
||||
}
|
||||
|
@ -616,7 +617,7 @@ void vnodeQueryData(SSchedMsg *pMsg) {
|
|||
vnodeDecRefCount(pQInfo);
|
||||
}
|
||||
|
||||
void *vnodeQueryInTimeRange(SMeterObj **pMetersObj, SSqlGroupbyExpr *pGroupbyExpr, SSqlFunctionExpr *pSqlExprs,
|
||||
void *vnodeQueryOnSingleTable(SMeterObj **pMetersObj, SSqlGroupbyExpr *pGroupbyExpr, SSqlFunctionExpr *pSqlExprs,
|
||||
SQueryMeterMsg *pQueryMsg, int32_t *code) {
|
||||
SQInfo *pQInfo;
|
||||
SQuery *pQuery;
|
||||
|
@ -687,6 +688,7 @@ void *vnodeQueryInTimeRange(SMeterObj **pMetersObj, SSqlGroupbyExpr *pGroupbyExp
|
|||
}
|
||||
|
||||
if (pQInfo->over == 1) {
|
||||
vnodeAddRefCount(pQInfo); // for retrieve procedure
|
||||
return pQInfo;
|
||||
}
|
||||
|
||||
|
@ -811,13 +813,13 @@ void *vnodeQueryOnMultiMeters(SMeterObj **pMetersObj, SSqlGroupbyExpr *pGroupbyE
|
|||
goto _error;
|
||||
}
|
||||
|
||||
vnodeAddRefCount(pQInfo);
|
||||
if (pQInfo->over == 1) {
|
||||
return pQInfo;
|
||||
}
|
||||
|
||||
// pQInfo->signature = TSDB_QINFO_QUERY_FLAG;
|
||||
vnodeAddRefCount(pQInfo);
|
||||
vnodeAddRefCount(pQInfo);
|
||||
|
||||
schedMsg.msg = NULL;
|
||||
schedMsg.thandle = (void *)1;
|
||||
|
|
|
@ -376,7 +376,7 @@ int vnodeProcessQueryRequest(char *pMsg, int msgLen, SShellObj *pObj) {
|
|||
if (QUERY_IS_STABLE_QUERY(pQueryMsg->queryType)) {
|
||||
pObj->qhandle = vnodeQueryOnMultiMeters(pMeterObjList, pGroupbyExpr, pExprs, pQueryMsg, &code);
|
||||
} else {
|
||||
pObj->qhandle = vnodeQueryInTimeRange(pMeterObjList, pGroupbyExpr, pExprs, pQueryMsg, &code);
|
||||
pObj->qhandle = vnodeQueryOnSingleTable(pMeterObjList, pGroupbyExpr, pExprs, pQueryMsg, &code);
|
||||
}
|
||||
|
||||
_query_over:
|
||||
|
|
Loading…
Reference in New Issue