提交 c86bda4a 编写于 作者: G Ganlin Zhao

[TD-6054]<fix>: Filtered by tag with nchar value not as expected

上级 fc8bc321
......@@ -152,11 +152,18 @@ int32_t compareLenPrefixedStr(const void *pLeft, const void *pRight) {
int32_t compareLenPrefixedWStr(const void *pLeft, const void *pRight) {
int32_t len1 = varDataLen(pLeft);
int32_t len2 = varDataLen(pRight);
if (len1 != len2) {
return len1 > len2? 1:-1;
} else {
int32_t ret = wcsncmp(varDataVal(pLeft), varDataVal(pRight), len1/TSDB_NCHAR_SIZE);
char pLeftTerm[len1 + 1];
char pRightTerm[len2 + 1];
memset(pLeftTerm, 0, len1 + 1);
memset(pRightTerm, 0, len2 + 1);
memcpy(pLeftTerm, varDataVal(pLeft), len1);
memcpy(pRightTerm, varDataVal(pRight), len2);
int32_t ret = wcsncmp((void *)pLeftTerm, (void *)pRightTerm, len1/TSDB_NCHAR_SIZE);
if (ret == 0) {
return 0;
} else {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册