From ccb2750ce05af14bec6352823c449d7c2e9514c1 Mon Sep 17 00:00:00 2001 From: Ganlin Zhao Date: Sun, 26 Sep 2021 16:39:41 +0800 Subject: [PATCH] [TD-10445]: make stable/child table name case-insensitive --- src/client/src/tscParseLineProtocol.c | 3 ++- src/client/src/tscParseOpenTSDB.c | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/client/src/tscParseLineProtocol.c b/src/client/src/tscParseLineProtocol.c index 71f51429e6..53b0b4dc93 100644 --- a/src/client/src/tscParseLineProtocol.c +++ b/src/client/src/tscParseLineProtocol.c @@ -1917,7 +1917,7 @@ static int32_t parseSmlMeasurement(TAOS_SML_DATA_POINT *pSml, const char **index if (*cur == '\\') { escapeSpecialCharacter(1, &cur); } - pSml->stableName[len] = *cur; + pSml->stableName[len] = tolower(*cur); cur++; len++; } @@ -1981,6 +1981,7 @@ static int32_t parseSmlKvPairs(TAOS_SML_KV **pKVs, int *num_kvs, } smlData->childTableName = malloc( pkv->length + 1); memcpy(smlData->childTableName, pkv->value, pkv->length); + strntolower_s(smlData->childTableName, smlData->childTableName, (int32_t)pkv->length); smlData->childTableName[pkv->length] = '\0'; free(pkv->key); free(pkv->value); diff --git a/src/client/src/tscParseOpenTSDB.c b/src/client/src/tscParseOpenTSDB.c index afae64727b..ecfc619f8a 100644 --- a/src/client/src/tscParseOpenTSDB.c +++ b/src/client/src/tscParseOpenTSDB.c @@ -62,7 +62,7 @@ static int32_t parseTelnetMetric(TAOS_SML_DATA_POINT *pSml, const char **index, if (*cur == '.') { pSml->stableName[len] = '_'; } else { - pSml->stableName[len] = *cur; + pSml->stableName[len] = tolower(*cur); } cur++; @@ -283,6 +283,7 @@ static int32_t parseTelnetTagKvs(TAOS_SML_KV **pKVs, int *num_kvs, *childTableName = malloc(pkv->length + 1); memcpy(*childTableName, pkv->value, pkv->length); (*childTableName)[pkv->length] = '\0'; + strntolower_s(*childTableName, *childTableName, (int32_t)pkv->length); tfree(pkv->key); tfree(pkv->value); } else { @@ -469,6 +470,7 @@ static int32_t parseMetricFromJSON(cJSON *root, TAOS_SML_DATA_POINT* pSml, SSmlL } tstrncpy(pSml->stableName, metric->valuestring, stableLen + 1); + strntolower_s(pSml->stableName, pSml->stableName, stableLen); return TSDB_CODE_SUCCESS; @@ -847,6 +849,7 @@ static int32_t parseTagsFromJSON(cJSON *root, TAOS_SML_KV **pKVs, int *num_kvs, } *childTableName = tcalloc(idLen + 1, sizeof(char)); memcpy(*childTableName, id->valuestring, idLen); + strntolower_s(*childTableName, *childTableName, (int32_t)idLen); //check duplicate IDs cJSON_DeleteItemFromObject(tags, "ID"); -- GitLab