diff --git a/src/query/src/qast.c b/src/query/src/qast.c index 0f5c66d4297d97f3a2f208bebed6f24c4028dbe2..98682ce778976a1472317d8e8adf1c289411f862 100644 --- a/src/query/src/qast.c +++ b/src/query/src/qast.c @@ -598,7 +598,7 @@ static void tQueryIndexColumn(SSkipList* pSkipList, tQueryInfo* pQueryInfo, SArr SSkipListNode* pNode = tSkipListIterGet(iter); if (comp) { - ret = func(SL_GET_NODE_KEY(pSkipList, pNode), cond.end->v); + ret = pQueryInfo->compare(SL_GET_NODE_KEY(pSkipList, pNode), cond.end->v); assert(ret <= 0); } diff --git a/src/query/src/qtokenizer.c b/src/query/src/qtokenizer.c index d5b20e1edd36ac6af7cdeb075385415393ea10c8..2b568cfd5afe535ca9a2fda2c4412f5448370c4d 100644 --- a/src/query/src/qtokenizer.c +++ b/src/query/src/qtokenizer.c @@ -266,8 +266,10 @@ static pthread_once_t keywordsHashTableInit = PTHREAD_ONCE_INIT; int tSQLKeywordCode(const char* z, int n) { pthread_once(&keywordsHashTableInit, doInitKeywordsTable); - - char key[128] = {0}; + + char key[512] = {0}; + assert(tListLen(key) >= n); + for (int32_t j = 0; j < n; ++j) { if (z[j] >= 'a' && z[j] <= 'z') { key[j] = (char)(z[j] & 0xDF); // touppercase and set the null-terminated