fix: add col type

This commit is contained in:
yihaoDeng 2022-06-08 13:21:07 +08:00
parent 69c4580177
commit 7e5dd50235
3 changed files with 11 additions and 6 deletions

View File

@ -297,13 +297,16 @@ static int32_t cacheSearchCompareFunc_JSON(void* cache, SIndexTerm* term, SIdxTR
cond = MATCH; cond = MATCH;
} }
} else { } else {
if (0 != strncmp(c->colVal, pCt->colVal, skip)) { if (0 != strncmp(c->colVal, pCt->colVal, skip - 1)) {
break; break;
} } else if (0 != strncmp(c->colVal, pCt->colVal, skip)) {
continue;
} else {
char* p = taosMemoryCalloc(1, strlen(c->colVal) + 1); char* p = taosMemoryCalloc(1, strlen(c->colVal) + 1);
memcpy(p, c->colVal, strlen(c->colVal)); memcpy(p, c->colVal, strlen(c->colVal));
cond = cmpFn(p + skip, term->colVal, dType); cond = cmpFn(p + skip, term->colVal, dType);
} }
}
if (cond == MATCH) { if (cond == MATCH) {
if (c->operaType == ADD_VALUE) { if (c->operaType == ADD_VALUE) {
INDEX_MERGE_ADD_DEL(tr->del, tr->add, c->uid) INDEX_MERGE_ADD_DEL(tr->del, tr->add, c->uid)

View File

@ -492,9 +492,11 @@ static int32_t tfSearchCompareFunc_JSON(void* reader, SIndexTerm* tem, SIdxTRslt
cond = MATCH; cond = MATCH;
} }
} else { } else {
if (0 != strncmp(ch, p, skip)) { if (0 != strncmp(ch, p, skip - 1)) {
swsResultDestroy(rt); swsResultDestroy(rt);
break; break;
} else if (0 != strncmp(ch, p, skip)) {
continue;
} }
cond = cmpFn(ch + skip, tem->colVal, INDEX_TYPE_GET_TYPE(tem->colType)); cond = cmpFn(ch + skip, tem->colVal, INDEX_TYPE_GET_TYPE(tem->colType));
} }

View File

@ -226,7 +226,7 @@ TEST_F(JsonEnv, testWriteMillonData) {
SArray* result = taosArrayInit(1, sizeof(uint64_t)); SArray* result = taosArrayInit(1, sizeof(uint64_t));
indexMultiTermQueryAdd(mq, q, QUERY_GREATER_THAN); indexMultiTermQueryAdd(mq, q, QUERY_GREATER_THAN);
tIndexJsonSearch(index, mq, result); tIndexJsonSearch(index, mq, result);
assert(0 == taosArrayGetSize(result)); EXPECT_EQ(0, taosArrayGetSize(result));
indexMultiTermQueryDestroy(mq); indexMultiTermQueryDestroy(mq);
} }
{ {