From 2f027acdd549b728af2dc8194473d6c3e357691c Mon Sep 17 00:00:00 2001 From: Shuduo Sang Date: Tue, 12 Jan 2021 15:47:50 +0800 Subject: [PATCH] [TD-2598] feature: C# taosdemo, cleanup and minor fix. --- tests/examples/C#/taosdemo/README.md | 7 +--- tests/examples/C#/taosdemo/taosdemo.cs | 55 ++++++++++++++++---------- 2 files changed, 36 insertions(+), 26 deletions(-) diff --git a/tests/examples/C#/taosdemo/README.md b/tests/examples/C#/taosdemo/README.md index 82a8dc674a..9bceb84cd0 100644 --- a/tests/examples/C#/taosdemo/README.md +++ b/tests/examples/C#/taosdemo/README.md @@ -19,13 +19,8 @@ Usage: mono taosdemo.exe [OPTION...] -d database, Destination database. Default is 'test'. -a replica, Set the replica parameters of the database, Default 1, min: 1, max: 5. -m table_prefix, Table prefix name. Default is 't'. - -s sql file, The select sql file. -M stable, Use super table. - -o outputfile, Direct output to the named file. Default is './output.txt'. - -q query_mode, Query mode--0: SYNC, 1: ASYNC. Default is SYNC. - -b type_of_cols, data_type of columns: 'INT', 'TINYINT', 'SMALLINT', 'BIGINT', 'FLOAT', 'DOUBLE', 'BINARY'. Default is 'INT'. - -w length_of_binary, The length of data_type 'BINARY'. Only applicable when type of cols is 'BINARY'. Default is 8 - -l num_of_cols_per_record, The number of columns per record. Default is 3. + -s stable_prefix, STable prefix name. Default is 'st' -T num_of_threads, The number of threads. Default is 10. -r num_of_records_per_req, The number of records per request. Default is 1000. -t num_of_tables, The number of tables. Default is 1. diff --git a/tests/examples/C#/taosdemo/taosdemo.cs b/tests/examples/C#/taosdemo/taosdemo.cs index 7e7c18db26..68eefdd161 100644 --- a/tests/examples/C#/taosdemo/taosdemo.cs +++ b/tests/examples/C#/taosdemo/taosdemo.cs @@ -34,7 +34,7 @@ namespace TDengineDriver //sql parameters private string dbName = "db"; - private string stableName = "st"; + private string stablePrefix = "st"; private string tablePrefix = "t"; private bool isInsertOnly = false; @@ -52,7 +52,7 @@ namespace TDengineDriver private bool useStable = false; private short methodOfDelete = 0; private long numOfThreads = 1; - private long rateOfOutorder = 0; + private short rateOfOutorder = 10; private bool order = true; private bool skipReadKey = false; private bool verbose = false; @@ -83,10 +83,11 @@ namespace TDengineDriver Console.Write("{0}{1}{2}\n", indent, indent, "replica, Set the replica parameters of the database, Default 1, min: 1, max: 5."); Console.Write("{0}{1}", indent, "-m"); Console.Write("{0}{1}{2}\n", indent, indent, "table_prefix, Table prefix name. Default is 't'."); - Console.Write("{0}{1}", indent, "-s"); - Console.Write("{0}{1}{2}\n", indent, indent, "sql file, The select sql file."); Console.Write("{0}{1}", indent, "-M"); Console.Write("{0}{1}{2}\n", indent, indent, "stable, Use super table."); + Console.Write("{0}{1}", indent, "-s"); + Console.Write("{0}{1}{2}\n", indent, indent, "stable_prefix, STable prefix name. Default is 'st'"); +/* NOT SUPPORT Console.Write("{0}{1}", indent, "-o"); Console.Write("{0}{1}{2}\n", indent, indent, "outputfile, Direct output to the named file. Default is './output.txt'."); Console.Write("{0}{1}", indent, "-q"); @@ -97,6 +98,7 @@ namespace TDengineDriver Console.Write("{0}{1}{2}\n", indent, indent, "length_of_binary, The length of data_type 'BINARY'. Only applicable when type of cols is 'BINARY'. Default is 8"); Console.Write("{0}{1}", indent, "-l"); Console.Write("{0}{1}{2}\n", indent, indent, "num_of_cols_per_record, The number of columns per record. Default is 3."); + */ Console.Write("{0}{1}", indent, "-T"); Console.Write("{0}{1}{2}\n", indent, indent, "num_of_threads, The number of threads. Default is 10."); Console.Write("{0}{1}", indent, "-r"); @@ -132,7 +134,7 @@ namespace TDengineDriver user = this.GetArgumentAsString(argv, "-u", "root"); password = this.GetArgumentAsString(argv, "-P", "taosdata"); dbName = this.GetArgumentAsString(argv, "-d", "db"); - stableName = this.GetArgumentAsString(argv, "-s", "st"); + stablePrefix = this.GetArgumentAsString(argv, "-s", "st"); tablePrefix = this.GetArgumentAsString(argv, "-m", "t"); isInsertOnly = this.GetArgumentAsFlag(argv, "-x"); queryMode = (int)this.GetArgumentAsLong(argv, "-q", 0, 1, 0); @@ -148,7 +150,7 @@ namespace TDengineDriver methodOfDelete = (short)this.GetArgumentAsLong(argv, "-D", 0, 3, 0); numOfThreads = (short)this.GetArgumentAsLong(argv, "-T", 1, 10000, 1); order = this.GetArgumentAsFlag(argv, "-O"); - rateOfOutorder = this.GetArgumentAsLong(argv, "-R", 0, 100, 0); + rateOfOutorder = (short)this.GetArgumentAsLong(argv, "-R", 0, 50, 10); skipReadKey = this.GetArgumentAsFlag(argv, "-y"); verbose = this.GetArgumentAsFlag(argv, "-v"); @@ -166,6 +168,10 @@ namespace TDengineDriver Console.Write("# Replica: {0}\n", replica); Console.Write("# Use STable: {0}\n", useStable); Console.Write("# Table prefix: {0}\n", tablePrefix); + if (useStable == true) + { + Console.Write("# STable prefix: {0}\n", stablePrefix); + } Console.Write("# Data order: {0}\n", order); Console.Write("# Data out of order rate: {0}\n", rateOfOutorder); Console.Write("# Delete method: {0}\n", methodOfDelete); @@ -217,7 +223,7 @@ namespace TDengineDriver long tmpVal = Convert.ToInt64(tmp); if (tmpVal < minVal || tmpVal > maxVal) { - Console.WriteLine("option {0:G} should in range [{1:G}, {2:G}]", argName, minVal, maxVal); + Console.WriteLine("option {0:G} value should in range [{1:G}, {2:G}]", argName, minVal, maxVal); ExitProgram(); } @@ -252,12 +258,17 @@ namespace TDengineDriver return defaultValue; } - static void ExitProgram() + static void CleanAndExitProgram() { TDengine.Cleanup(); System.Environment.Exit(0); } + static void ExitProgram() + { + System.Environment.Exit(0); + } + private void DebugPrintFormat(string format, params object[] parameters) { if (verbose == true) @@ -291,7 +302,7 @@ namespace TDengineDriver if (this.conn == IntPtr.Zero) { Console.WriteLine("Connect to TDengine failed"); - ExitProgram(); + CleanAndExitProgram(); } else { @@ -328,7 +339,7 @@ namespace TDengineDriver createTableThread.useStable = useStable; if (useStable) { - createTableThread.stableName = stableName; + createTableThread.stablePrefix = stablePrefix; } createTableThread.conn = conn; @@ -361,7 +372,7 @@ namespace TDengineDriver else { Console.WriteLine(sql.ToString() + " failure, reason: " + TDengine.Error(res)); - ExitProgram(); + CleanAndExitProgram(); } } @@ -378,7 +389,7 @@ namespace TDengineDriver else { Console.WriteLine(sql.ToString() + " failure, reason: " + TDengine.Error(res)); - ExitProgram(); + CleanAndExitProgram(); } TDengine.FreeResult(res); } @@ -389,7 +400,7 @@ namespace TDengineDriver sql.Clear(); sql.Append("CREATE TABLE IF NOT EXISTS "). - Append(this.dbName).Append(".").Append(this.stableName). + Append(this.dbName).Append(".").Append(this.stablePrefix). Append("(ts timestamp, v1 bool, v2 tinyint, v3 smallint, v4 int, v5 bigint, v6 float, v7 double, v8 binary(10), v9 nchar(10)) tags(t1 int)"); IntPtr res = TDengine.Query(this.conn, sql.ToString()); if (res != IntPtr.Zero) @@ -399,7 +410,7 @@ namespace TDengineDriver else { Console.WriteLine(sql.ToString() + " failure, reason: " + TDengine.Error(res)); - ExitProgram(); + CleanAndExitProgram(); } TDengine.FreeResult(res); } @@ -433,9 +444,11 @@ namespace TDengineDriver insertThread.verbose = verbose; insertThread.dbName = this.dbName; insertThread.tablePrefix = this.tablePrefix; + insertThread.order = this.order; + insertThread.rateOfOutorder = this.rateOfOutorder; if (useStable) { - // insertThread.stableName = stableName; + insertThread.stablePrefix = stablePrefix; } insertThread.conn = conn; @@ -470,7 +483,7 @@ namespace TDengineDriver if (res == IntPtr.Zero) { Console.WriteLine(sql + " failure, reason: " + TDengine.Error(res)); - ExitProgram(); + CleanAndExitProgram(); } int fieldCount = TDengine.FieldCount(res); @@ -630,11 +643,13 @@ namespace TDengineDriver public string dbName { set; get; } public IntPtr conn { set; get; } public string tablePrefix { set; get; } - // public string stableName { set; get; } + public string stablePrefix { set; get; } public long recordsPerTable { set; get; } public long batchRows { set; get; } public long numOfTables { set; get; } public bool verbose { set; get; } + public bool order { set; get; } + public short rateOfOutorder { set; get; } private void DebugPrintFormat(string format, params object[] parameters) { @@ -723,7 +738,7 @@ namespace TDengineDriver public string dbName { set; get; } public IntPtr conn { set; get; } public string tablePrefix { set; get; } - public string stableName { set; get; } + public string stablePrefix { set; get; } public bool verbose { set; get; } public bool useStable { set; get; } @@ -756,7 +771,7 @@ namespace TDengineDriver Append(this.dbName).Append(".").Append(this.tablePrefix).Append(tableId); if (useStable == true) { - sql = sql.Append(" USING ").Append(this.dbName).Append(".").Append(this.stableName). + sql = sql.Append(" USING ").Append(this.dbName).Append(".").Append(this.stablePrefix). Append(" TAGS(").Append(tableId).Append(")"); } else @@ -771,7 +786,7 @@ namespace TDengineDriver else { DebugPrint(sql.ToString() + " failure, reason: " + TDengine.Error(res) + "\n"); - ExitProgram(); + CleanAndExitProgram(); } TDengine.FreeResult(res); } -- GitLab