From 1d13c712c7b4ccc6ed042838d50cb582a87b0467 Mon Sep 17 00:00:00 2001 From: Xiaoyu Wang Date: Sat, 2 Jul 2022 19:49:38 +0800 Subject: [PATCH] fix: some problems of parser and planner --- source/libs/parser/src/parTranslater.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/source/libs/parser/src/parTranslater.c b/source/libs/parser/src/parTranslater.c index 72a0046044..caf70d2ec7 100644 --- a/source/libs/parser/src/parTranslater.c +++ b/source/libs/parser/src/parTranslater.c @@ -5303,7 +5303,10 @@ static int32_t createCastFuncForTag(STranslateContext* pCxt, SNode* pNode, SData if (NULL == pExpr) { return TSDB_CODE_OUT_OF_MEMORY; } - int32_t code = createCastFunc(pCxt, pExpr, dt, pCast); + int32_t code = translateExpr(pCxt, &pExpr); + if (TSDB_CODE_SUCCESS == code) { + code = createCastFunc(pCxt, pExpr, dt, pCast); + } if (TSDB_CODE_SUCCESS != code) { nodesDestroyNode(pExpr); } @@ -5314,10 +5317,7 @@ static int32_t createTagVal(STranslateContext* pCxt, uint8_t precision, SSchema* SValueNode** pVal) { SNode* pCast = NULL; int32_t code = createCastFuncForTag(pCxt, pNode, schemaToDataType(precision, pSchema), &pCast); - if (TSDB_CODE_SUCCESS == code) { - code = translateExpr(pCxt, &pCast); - } - SNode* pNew = NULL; + SNode* pNew = NULL; if (TSDB_CODE_SUCCESS == code) { code = scalarCalculateConstants(pCast, &pNew); }