diff --git a/src/client/src/tscServer.c b/src/client/src/tscServer.c index 46f2f4facdfc32f5c2ef486edb9b4ecb7dc925a1..78c56ac8cc79b8123c75b294d0ceb45127c96d4c 100644 --- a/src/client/src/tscServer.c +++ b/src/client/src/tscServer.c @@ -790,7 +790,7 @@ int tscBuildQueryMsg(SSqlObj *pSql, SSqlInfo *pInfo) { size_t output = tscNumOfFields(pQueryInfo); if ((tscIsSecondStageQuery(pQueryInfo) || UTIL_TABLE_IS_NORMAL_TABLE(pTableMetaInfo) || - UTIL_TABLE_IS_CHILD_TABLE(pTableMetaInfo)) && (output != tscSqlExprNumOfExprs(pQueryInfo))) { + UTIL_TABLE_IS_CHILD_TABLE(pTableMetaInfo))) { pQueryMsg->secondStageOutput = htonl((int32_t) output); SSqlFuncMsg *pSqlFuncExpr1 = (SSqlFuncMsg *)pMsg; diff --git a/src/query/src/qExecutor.c b/src/query/src/qExecutor.c index 87ec62c0212a1373468c29e5adecf04506c79779..f4ffb0aa85cdb906434f78caaef406d0aa855c42 100644 --- a/src/query/src/qExecutor.c +++ b/src/query/src/qExecutor.c @@ -5351,8 +5351,11 @@ static char *getArithemicInputSrc(void *param, const char *name, int32_t colId) } static void doSecondaryArithmeticProcess(SQuery* pQuery) { - SArithmeticSupport arithSup = {0}; + if (pQuery->numOfExpr2 == 0) { + return; + } + SArithmeticSupport arithSup = {0}; tFilePage **data = calloc(pQuery->numOfExpr2, POINTER_BYTES); for (int32_t i = 0; i < pQuery->numOfExpr2; ++i) { int32_t bytes = pQuery->pExpr2[i].bytes;