From ebf13d738fc6fc909e31be4aec2ac99bfa929669 Mon Sep 17 00:00:00 2001 From: wangmm0220 Date: Sun, 27 Mar 2022 17:30:30 +0800 Subject: [PATCH] [TD-14342] fix error if nchar condition in subquery like "select * from (select * from table) where nchar = '0'" --- src/query/src/qFilter.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/query/src/qFilter.c b/src/query/src/qFilter.c index 5af5dea753..6f7e9ebf52 100644 --- a/src/query/src/qFilter.c +++ b/src/query/src/qFilter.c @@ -3608,16 +3608,11 @@ int32_t filterConverNcharColumns(SFilterInfo* info, int32_t rows, bool *gotNchar for (int32_t j = 0; j < rows; ++j) { char *src = FILTER_GET_COL_FIELD_DATA(fi, j); char *dst = FILTER_GET_COL_FIELD_DATA(&nfi, j); - int32_t len = 0; - char *varSrc = varDataVal(src); - size_t k = 0, varSrcLen = varDataLen(src); - while (k < varSrcLen && varSrc[k++] == -1) {} - if (k == varSrcLen) { - /* NULL */ - varDataLen(dst) = (VarDataLenT) varSrcLen; + if(isNull(src, TSDB_DATA_TYPE_NCHAR)){ varDataCopy(dst, src); continue; - } + }gi + int32_t len = 0; bool ret = taosMbsToUcs4(varDataVal(src), varDataLen(src), varDataVal(dst), bufSize, &len); if(!ret) { qError("filterConverNcharColumns taosMbsToUcs4 error"); -- GitLab