From af18b6669e0f32077035b554d546264be0908439 Mon Sep 17 00:00:00 2001 From: 54liuyao <54liuyao> Date: Wed, 28 Aug 2024 10:11:54 +0800 Subject: [PATCH] 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;