From e45a9903449e7fda8efc52eb595d7d58eff25702 Mon Sep 17 00:00:00 2001 From: wangmm0220 Date: Sat, 11 Jun 2022 11:58:28 +0800 Subject: [PATCH] feat: sort data by time before build submit block in schemaless --- source/client/src/clientSml.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/source/client/src/clientSml.c b/source/client/src/clientSml.c index 6f2d281726..5e17ccca6c 100644 --- a/source/client/src/clientSml.c +++ b/source/client/src/clientSml.c @@ -1293,8 +1293,8 @@ static void smlDestroyTableInfo(SSmlHandle* info, SSmlTableInfo *tag){ } static int32_t smlKvTimeArrayCompare(const void* key1, const void* key2) { - SArray *s1 = (SArray *)key1; - SArray *s2 = (SArray *)key2; + SArray *s1 = *(SArray **)key1; + SArray *s2 = *(SArray **)key2; SSmlKv *kv1 = (SSmlKv *)taosArrayGetP(s1, 0); SSmlKv *kv2 = (SSmlKv *)taosArrayGetP(s2, 0); ASSERT(kv1->type == TSDB_DATA_TYPE_TIMESTAMP); @@ -1309,8 +1309,8 @@ static int32_t smlKvTimeArrayCompare(const void* key1, const void* key2) { } static int32_t smlKvTimeHashCompare(const void* key1, const void* key2) { - SHashObj *s1 = (SHashObj *)key1; - SHashObj *s2 = (SHashObj *)key2; + SHashObj *s1 = *(SHashObj **)key1; + SHashObj *s2 = *(SHashObj **)key2; SSmlKv *kv1 = (SSmlKv *)taosHashGet(s1, TS, TS_LEN); SSmlKv *kv2 = (SSmlKv *)taosHashGet(s2, TS, TS_LEN); ASSERT(kv1->type == TSDB_DATA_TYPE_TIMESTAMP); @@ -1326,7 +1326,7 @@ static int32_t smlKvTimeHashCompare(const void* key1, const void* key2) { static int32_t smlDealCols(SSmlTableInfo* oneTable, bool dataFormat, SArray *cols){ if(dataFormat){ - void *p = taosArraySearch(oneTable->cols, cols, smlKvTimeArrayCompare, TD_GE); + void *p = taosArraySearch(oneTable->cols, &cols, smlKvTimeArrayCompare, TD_GE); if(p == NULL){ taosArrayPush(oneTable->cols, &cols); }else{ @@ -1345,7 +1345,7 @@ static int32_t smlDealCols(SSmlTableInfo* oneTable, bool dataFormat, SArray *col taosHashPut(kvHash, kv->key, kv->keyLen, &kv, POINTER_BYTES); } - void *p = taosArraySearch(oneTable->cols, kvHash, smlKvTimeHashCompare, TD_GE); + void *p = taosArraySearch(oneTable->cols, &kvHash, smlKvTimeHashCompare, TD_GE); if(p == NULL){ taosArrayPush(oneTable->cols, &kvHash); }else{ -- GitLab