From 4063de39c578ab0f87f61eb3a9b48fe5f352ab2d Mon Sep 17 00:00:00 2001 From: wangmm0220 Date: Wed, 18 Dec 2024 11:49:32 +0800 Subject: [PATCH] fix:[TS-5761] error for in operator --- source/libs/scalar/src/filter.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/source/libs/scalar/src/filter.c b/source/libs/scalar/src/filter.c index 2f3ca504e4..9eaa7613da 100644 --- a/source/libs/scalar/src/filter.c +++ b/source/libs/scalar/src/filter.c @@ -4860,7 +4860,6 @@ EDealRes fltReviseRewriter(SNode **pNode, void *pContext) { if (0 != type && type != refNode->node.resType.type) { stat->scalarMode = true; } - return DEAL_RES_CONTINUE; } else { SNodeListNode *listNode = (SNodeListNode *)node->pRight; if (LIST_LENGTH(listNode->pNodeList) > 10 || OP_TYPE_NOT_IN == node->opType) { @@ -4873,7 +4872,7 @@ EDealRes fltReviseRewriter(SNode **pNode, void *pContext) { SValueNode *valueNode = (SValueNode *)cell->pNode; cell = cell->pNext; int32_t tmp = vectorGetConvertType(refNode->node.resType.type, valueNode->node.resType.type); - if (tmp != 0){ + if (tmp != 0 && tmp != refNode->node.resType.type){ stat->scalarMode = true; if (IS_NUMERIC_TYPE(tmp) && tmp > type){ type = tmp; @@ -4884,7 +4883,6 @@ EDealRes fltReviseRewriter(SNode **pNode, void *pContext) { if (IS_NUMERIC_TYPE(type)){ exprNode->resType.type = type; } - return DEAL_RES_CONTINUE; } }