diff --git a/.gitignore b/.gitignore index cd1cac4a6d..aa1f567bf7 100644 --- a/.gitignore +++ b/.gitignore @@ -132,7 +132,6 @@ tools/THANKS tools/NEWS tools/COPYING tools/BUGS -tools/taos-tools tools/taosws-rs tags .clangd diff --git a/tests/army/tools/benchmark/basic/insertBasic.py b/tests/army/tools/benchmark/basic/insertBasic.py index dfc5e3aff1..9ae118f5bc 100644 --- a/tests/army/tools/benchmark/basic/insertBasic.py +++ b/tests/army/tools/benchmark/basic/insertBasic.py @@ -80,12 +80,16 @@ class TDTestCase(TBase): cmdVG = arr[1] # vgropus + vgroups = None try: if cmdVG != None: # command special vgroups first priority vgroups = cmdVG else: - vgroups = data["databases"][0]["dbinfo"]["vgroups"] + dbinfo = data["databases"][0]["dbinfo"] + for key,value in dbinfo.items(): + if key.strip().lower() == "vgroups": + vgroups = value except: vgroups = None diff --git a/tests/army/tools/benchmark/basic/insertPrecision.py b/tests/army/tools/benchmark/basic/insertPrecision.py index c0f0f25851..5be8285859 100644 --- a/tests/army/tools/benchmark/basic/insertPrecision.py +++ b/tests/army/tools/benchmark/basic/insertPrecision.py @@ -31,6 +31,7 @@ class TDTestCase(TBase): # exe insert cmd = f"{benchmark} {options} -f {jsonFile}" os.system(cmd) + precision = None # # check insert result @@ -39,14 +40,17 @@ class TDTestCase(TBase): data = json.load(file) db = data["databases"][0]["dbinfo"]["name"] - precison = data["databases"][0]["dbinfo"]["precision"] + dbinfo = data["databases"][0]["dbinfo"] + for key,value in dbinfo.items(): + if key.strip().lower() == "precision": + precision = value stb = data["databases"][0]["super_tables"][0]["name"] child_count = data["databases"][0]["super_tables"][0]["childtable_count"] insert_rows = data["databases"][0]["super_tables"][0]["insert_rows"] timestamp_step = data["databases"][0]["super_tables"][0]["timestamp_step"] start_timestamp = data["databases"][0]["super_tables"][0]["start_timestamp"] - tdLog.info(f"get json info: db={db} precision={precison} stb={stb} child_count={child_count} insert_rows={insert_rows} " + tdLog.info(f"get json info: db={db} precision={precision} stb={stb} child_count={child_count} insert_rows={insert_rows} " f"start_timestamp={start_timestamp} timestamp_step={timestamp_step} \n") # all count insert_rows * child_table_count diff --git a/tests/army/tools/benchmark/basic/json/insertBasic.json b/tests/army/tools/benchmark/basic/json/insertBasic.json index 2fc59befe9..b6b74accf5 100644 --- a/tests/army/tools/benchmark/basic/json/insertBasic.json +++ b/tests/army/tools/benchmark/basic/json/insertBasic.json @@ -14,7 +14,7 @@ "name": "test", "drop": "yes", "precision": "ns", - "vgroups": 2 + " vgroups ": 2 }, "super_tables": [ { diff --git a/tests/army/tools/benchmark/basic/json/insertPrecisionMS.json b/tests/army/tools/benchmark/basic/json/insertPrecisionMS.json index a07881511d..fcae767c33 100644 --- a/tests/army/tools/benchmark/basic/json/insertPrecisionMS.json +++ b/tests/army/tools/benchmark/basic/json/insertPrecisionMS.json @@ -13,7 +13,7 @@ "dbinfo": { "name": "test", "drop": "yes", - "precision": "ms", + " precision ": "ms", "vgroups": 2 }, "super_tables": [ diff --git a/tests/army/tools/benchmark/basic/json/insertPrecisionNS.json b/tests/army/tools/benchmark/basic/json/insertPrecisionNS.json index e18eef9508..887795b5c2 100644 --- a/tests/army/tools/benchmark/basic/json/insertPrecisionNS.json +++ b/tests/army/tools/benchmark/basic/json/insertPrecisionNS.json @@ -13,7 +13,7 @@ "dbinfo": { "name": "test", "drop": "yes", - "precision": "ns", + " precision": "ns", "vgroups": 2 }, "super_tables": [ diff --git a/tests/army/tools/benchmark/basic/json/insertPrecisionUS.json b/tests/army/tools/benchmark/basic/json/insertPrecisionUS.json index a29c50a95e..ce01d27a57 100644 --- a/tests/army/tools/benchmark/basic/json/insertPrecisionUS.json +++ b/tests/army/tools/benchmark/basic/json/insertPrecisionUS.json @@ -13,7 +13,7 @@ "dbinfo": { "name": "test", "drop": "yes", - "precision": "us", + "precision ": "us", "vgroups": 2 }, "super_tables": [ diff --git a/tools/taos-tools/inc/bench.h b/tools/taos-tools/inc/bench.h index b432e20113..8adb879301 100644 --- a/tools/taos-tools/inc/bench.h +++ b/tools/taos-tools/inc/bench.h @@ -1061,4 +1061,7 @@ int killSlowQuery(); // fetch super table child name from server int fetchChildTableName(char *dbName, char *stbName); +// trim prefix suffix blank cmp +int trimCaseCmp(char *str1,char *str2); + #endif // INC_BENCH_H_ diff --git a/tools/taos-tools/src/benchInsert.c b/tools/taos-tools/src/benchInsert.c index 894e4621a0..0ad4c1031a 100644 --- a/tools/taos-tools/src/benchInsert.c +++ b/tools/taos-tools/src/benchInsert.c @@ -643,7 +643,7 @@ int geneDbCreateCmd(SDataBase *database, char *command, int remainVnodes) { SDbCfg* cfg = benchArrayGet(database->cfgs, i); // check vgroups - if (strcasecmp(cfg->name, "vgroups") == 0) { + if (trimCaseCmp(cfg->name, "vgroups") == 0) { if (vgroups > 0) { // inputted vgroups by commandline infoPrint("ignore config set vgroups %d\n", cfg->valueint); diff --git a/tools/taos-tools/src/benchJsonOpt.c b/tools/taos-tools/src/benchJsonOpt.c index 9bbecebe65..952bef3e8b 100644 --- a/tools/taos-tools/src/benchJsonOpt.c +++ b/tools/taos-tools/src/benchJsonOpt.c @@ -602,9 +602,9 @@ void setDBCfgString(SDbCfg* cfg , char * value) { // need add quotation bool add = false; - if (0 == strcasecmp(cfg->name, "cachemodel") || - 0 == strcasecmp(cfg->name, "dnodes" ) || - 0 == strcasecmp(cfg->name, "precision" ) ) { + if (0 == trimCaseCmp(cfg->name, "cachemodel") || + 0 == trimCaseCmp(cfg->name, "dnodes" ) || + 0 == trimCaseCmp(cfg->name, "precision" ) ) { add = true; } @@ -676,12 +676,12 @@ static int getDatabaseInfo(tools_cJSON *dbinfos, int index) { && (0 == strcasecmp(cfg_object->valuestring, "yes"))) { database->flush = true; } - } else if (0 == strcasecmp(cfg_object->string, "precision")) { + } else if (0 == trimCaseCmp(cfg_object->string, "precision")) { if (tools_cJSON_IsString(cfg_object)) { - if (0 == strcasecmp(cfg_object->valuestring, "us")) { + if (0 == trimCaseCmp(cfg_object->valuestring, "us")) { database->precision = TSDB_TIME_PRECISION_MICRO; database->sml_precision = TSDB_SML_TIMESTAMP_MICRO_SECONDS; - } else if (0 == strcasecmp(cfg_object->valuestring, "ns")) { + } else if (0 == trimCaseCmp(cfg_object->valuestring, "ns")) { database->precision = TSDB_TIME_PRECISION_NANO; database->sml_precision = TSDB_SML_TIMESTAMP_NANO_SECONDS; } @@ -691,7 +691,7 @@ static int getDatabaseInfo(tools_cJSON *dbinfos, int index) { cfg->name = cfg_object->string; // get duration value - if (0 == strcasecmp(cfg_object->string, "duration")) { + if (0 == trimCaseCmp(cfg_object->string, "duration")) { database->durMinute = getDurationVal(cfg_object); } diff --git a/tools/taos-tools/src/benchUtil.c b/tools/taos-tools/src/benchUtil.c index 8dcca30f8c..f010920dbb 100644 --- a/tools/taos-tools/src/benchUtil.c +++ b/tools/taos-tools/src/benchUtil.c @@ -1776,3 +1776,30 @@ int fetchChildTableName(char *dbName, char *stbName) { // succ return 0; } + +// skip prefix suffix blank +int trimCaseCmp(char *str1, char *str2) { + // Skip leading whitespace in str1 + while (isblank((unsigned char)*str1)) { + str1++; + } + + // Compare characters case-insensitively + while (*str2 != '\0') { + if (tolower((unsigned char)*str1) != tolower((unsigned char)*str2)) { + return -1; + } + str1++; + str2++; + } + + // Check if the remaining characters in str1 are all whitespace + while (*str1 != '\0') { + if (!isblank((unsigned char)*str1)) { + return -1; + } + str1++; + } + + return 0; +} \ No newline at end of file