From af18b6669e0f32077035b554d546264be0908439 Mon Sep 17 00:00:00 2001 From: 54liuyao <54liuyao> Date: Wed, 28 Aug 2024 10:11:54 +0800 Subject: [PATCH 1/2] fix(query):init SExprInfo instance --- source/libs/executor/src/executil.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/libs/executor/src/executil.c b/source/libs/executor/src/executil.c index 9a03a0e1a5..757192b9b0 100644 --- a/source/libs/executor/src/executil.c +++ b/source/libs/executor/src/executil.c @@ -1747,6 +1747,8 @@ static SColumn* createColumn(int32_t blockId, int32_t slotId, int32_t colId, SDa int32_t createExprFromOneNode(SExprInfo* pExp, SNode* pNode, int16_t slotId) { int32_t code = TSDB_CODE_SUCCESS; int32_t lino = 0; + pExp->base.numOfParams = 0; + pExp->base.pParam = NULL; pExp->pExpr = taosMemoryCalloc(1, sizeof(tExprNode)); QUERY_CHECK_NULL(pExp->pExpr, code, lino, _end, terrno); @@ -1787,6 +1789,7 @@ int32_t createExprFromOneNode(SExprInfo* pExp, SNode* pNode, int16_t slotId) { createResSchema(pType->type, pType->bytes, slotId, pType->scale, pType->precision, pValNode->node.aliasName); pExp->base.pParam[0].type = FUNC_PARAM_TYPE_VALUE; code = nodesValueNodeToVariant(pValNode, &pExp->base.pParam[0].param); + QUERY_CHECK_CODE(code, lino, _end); } else if (type == QUERY_NODE_FUNCTION) { pExp->pExpr->nodeType = QUERY_NODE_FUNCTION; SFunctionNode* pFuncNode = (SFunctionNode*)pNode; From 1aa2d87f8a08aa084887e6fbb94043f24c392677 Mon Sep 17 00:00:00 2001 From: 54liuyao <54liuyao> Date: Wed, 28 Aug 2024 11:11:45 +0800 Subject: [PATCH 2/2] add log --- source/libs/executor/src/filloperator.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/libs/executor/src/filloperator.c b/source/libs/executor/src/filloperator.c index 63f7667890..d90a06f4bb 100644 --- a/source/libs/executor/src/filloperator.c +++ b/source/libs/executor/src/filloperator.c @@ -522,6 +522,9 @@ int32_t createFillOperatorInfo(SOperatorInfo* downstream, SFillPhysiNode* pPhyFi return code; _error: + if (code != TSDB_CODE_SUCCESS) { + qError("%s failed at line %d since %s", __func__, lino, tstrerror(code)); + } if (pInfo != NULL) { destroyFillOperatorInfo(pInfo); }