diff --git a/docs/examples/csharp/optsJSON/Program.cs b/docs/examples/csharp/optsJSON/Program.cs index d9b936745e..d348e0efbc 100644 --- a/docs/examples/csharp/optsJSON/Program.cs +++ b/docs/examples/csharp/optsJSON/Program.cs @@ -5,9 +5,9 @@ namespace TDengineExample { internal class OptsJsonExample { + // ANCHOR: main public static void Main(string[] args) { - // ANCHOR: main var host = "127.0.0.1"; var lineDemo = @@ -38,20 +38,22 @@ namespace TDengineExample client.SchemalessInsert(new []{jsonDemo}, TDengineSchemalessProtocol.TSDB_SML_JSON_PROTOCOL, TDengineSchemalessPrecision.TSDB_SML_TIMESTAMP_NOT_CONFIGURED, 0, ReqId.GetReqId()); } + + Console.WriteLine("Inserted data with schemaless successfully."); } catch (TDengineError e) { // handle TDengine error - Console.WriteLine("Failed to insert data with schemaless; ErrCode:" + e.Code + "; ErrMessage: " + e.Error); + Console.WriteLine("Failed to insert data with schemaless, host:" + host + "; ErrCode:" + e.Code + "; ErrMessage: " + e.Error); throw; } catch (Exception e) { // handle other exceptions - Console.WriteLine("Failed to insert data with schemaless; Err:" + e.Message); + Console.WriteLine("Failed to insert data with schemaless, host:" + host + "; ErrMessage: " + e.Message); throw; } - // ANCHOR_END: main } + // ANCHOR_END: main } } \ No newline at end of file diff --git a/docs/examples/csharp/stmtInsert/Program.cs b/docs/examples/csharp/stmtInsert/Program.cs index 161682b19e..60d1a58e55 100644 --- a/docs/examples/csharp/stmtInsert/Program.cs +++ b/docs/examples/csharp/stmtInsert/Program.cs @@ -12,9 +12,10 @@ namespace TDengineExample var numOfSubTable = 10; var numOfRow = 10; var random = new Random(); + var connectionString = $"host={host};port=6030;username=root;password=taosdata"; try { - var builder = new ConnectionStringBuilder($"host={host};port=6030;username=root;password=taosdata"); + var builder = new ConnectionStringBuilder(connectionString); using (var client = DbDriver.Open(builder)) { // create database @@ -53,7 +54,7 @@ namespace TDengineExample stmt.Exec(); // get affected rows var affectedRows = stmt.Affected(); - Console.WriteLine($"table {tableName} insert {affectedRows} rows."); + Console.WriteLine($"Successfully inserted {affectedRows} rows to {tableName}."); } } } @@ -61,13 +62,13 @@ namespace TDengineExample catch (TDengineError e) { // handle TDengine error - Console.WriteLine("Failed to insert to table meters using stmt; ErrCode:" + e.Code + "; ErrMessage: " + e.Error); + Console.WriteLine("Failed to insert to table meters using stmt, url: " + connectionString + "; ErrCode:" + e.Code + "; ErrMessage: " + e.Error); throw; } catch (Exception e) { // handle other exceptions - Console.WriteLine("Failed to insert to table meters using stmt; Err:" + e.Message); + Console.WriteLine("Failed to insert to table meters using stmt, url: " + connectionString + "; ErrMessage: " + e.Message); throw; } } diff --git a/docs/examples/csharp/subscribe/Program.cs b/docs/examples/csharp/subscribe/Program.cs index 4798877440..a83a9f07a8 100644 --- a/docs/examples/csharp/subscribe/Program.cs +++ b/docs/examples/csharp/subscribe/Program.cs @@ -64,6 +64,9 @@ namespace TMQExample { // ANCHOR: create_consumer // consumer config + var host = "127.0.0.1"; + var groupId = "group1"; + var clientId = "client1"; var cfg = new Dictionary() { { "td.connect.port", "6030" }, @@ -71,9 +74,9 @@ namespace TMQExample { "msg.with.table.name", "true" }, { "enable.auto.commit", "true" }, { "auto.commit.interval.ms", "1000" }, - { "group.id", "group1" }, - { "client.id", "client1" }, - { "td.connect.ip", "127.0.0.1" }, + { "group.id", groupId }, + { "client.id", clientId }, + { "td.connect.ip", host }, { "td.connect.user", "root" }, { "td.connect.pass", "taosdata" }, }; @@ -82,17 +85,20 @@ namespace TMQExample { // create consumer consumer = new ConsumerBuilder>(cfg).Build(); + Console.WriteLine("Create consumer successfully, host: " + host + ", groupId: " + groupId + + ", clientId: " + clientId); } catch (TDengineError e) { // handle TDengine error - Console.WriteLine("Failed to create consumer; ErrCode:" + e.Code + "; ErrMessage: " + e.Error); + Console.WriteLine("Failed to create native consumer, host : " + host + "; ErrCode:" + e.Code + + "; ErrMessage: " + e.Error); throw; } catch (Exception e) { // handle other exceptions - Console.WriteLine("Failed to create consumer; Err:" + e.Message); + Console.WriteLine("Failed to create native consumer, host : " + host + "; ErrMessage: " + e.Message); throw; } @@ -107,6 +113,7 @@ namespace TMQExample { // subscribe consumer.Subscribe(new List() { "topic_meters" }); + Console.WriteLine("subscribe topics successfully"); for (int i = 0; i < 50; i++) { // consume message with using block to ensure the result is disposed @@ -117,7 +124,7 @@ namespace TMQExample { // handle message Console.WriteLine( - $"data {{{((DateTime)message.Value["ts"]).ToString("yyyy-MM-dd HH:mm:ss.fff")}, " + + $"data: {{{((DateTime)message.Value["ts"]).ToString("yyyy-MM-dd HH:mm:ss.fff")}, " + $"{message.Value["current"]}, {message.Value["voltage"]}, {message.Value["phase"]}}}"); } } @@ -132,7 +139,7 @@ namespace TMQExample catch (Exception e) { // handle other exceptions - Console.WriteLine("Failed to poll data; Err:" + e.Message); + Console.WriteLine("Failed to poll data; ErrMessage:" + e.Message); throw; } // ANCHOR_END: subscribe @@ -145,6 +152,7 @@ namespace TMQExample { // get assignment var assignment = consumer.Assignment; + Console.WriteLine($"now assignment: ${assignment}"); // seek to the beginning foreach (var topicPartition in assignment) { @@ -172,13 +180,13 @@ namespace TMQExample catch (TDengineError e) { // handle TDengine error - Console.WriteLine("Failed to seek; ErrCode:" + e.Code + "; ErrMessage: " + e.Error); + Console.WriteLine("seek example failed; ErrCode:" + e.Code + "; ErrMessage: " + e.Error); throw; } catch (Exception e) { // handle other exceptions - Console.WriteLine("Failed to seek; Err:" + e.Message); + Console.WriteLine("seek example failed; ErrMessage: " + e.Message); throw; } // ANCHOR_END: seek @@ -200,18 +208,19 @@ namespace TMQExample { cr.TopicPartitionOffset, }); + Console.WriteLine("commit offset manually successfully."); } } catch (TDengineError e) { // handle TDengine error - Console.WriteLine("Failed to commit offset; ErrCode:" + e.Code + "; ErrMessage: " + e.Error); + Console.WriteLine("Failed to execute consumer functions. ErrCode:" + e.Code + "; ErrMessage: " + e.Error); throw; } catch (Exception e) { // handle other exceptions - Console.WriteLine("Failed to commit offset; Err:" + e.Message); + Console.WriteLine("Failed to execute consumer functions. ErrMessage:" + e.Message); throw; } } @@ -229,19 +238,20 @@ namespace TMQExample catch (TDengineError e) { // handle TDengine error - Console.WriteLine("Failed to unsubscribe consumer; ErrCode:" + e.Code + "; ErrMessage: " + e.Error); + Console.WriteLine("Failed to unsubscribe consumer. ErrCode:" + e.Code + "; ErrMessage: " + e.Error); throw; } catch (Exception e) { // handle other exceptions - Console.WriteLine("Failed to unsubscribe consumer; Err:" + e.Message); + Console.WriteLine("Failed to unsubscribe consumer. Err: " + e.Message); throw; } finally { // close consumer consumer.Close(); + Console.WriteLine("consumer closed successfully."); } // ANCHOR_END: close } diff --git a/docs/examples/csharp/wsInsert/Program.cs b/docs/examples/csharp/wsInsert/Program.cs index 06e3dbe5e8..cdddf27f42 100644 --- a/docs/examples/csharp/wsInsert/Program.cs +++ b/docs/examples/csharp/wsInsert/Program.cs @@ -11,13 +11,15 @@ namespace Examples { try { - var builder = new ConnectionStringBuilder("protocol=WebSocket;host=127.0.0.1;port=6041;useSSL=false;username=root;password=taosdata"); + var connectionString = + "protocol=WebSocket;host=127.0.0.1;port=6041;useSSL=false;username=root;password=taosdata"; + var builder = new ConnectionStringBuilder(connectionString); using (var client = DbDriver.Open(builder)) { - CreateDatabaseAndTable(client); - InsertData(client); - QueryData(client); - QueryWithReqId(client); + CreateDatabaseAndTable(client,connectionString); + InsertData(client,connectionString); + QueryData(client,connectionString); + QueryWithReqId(client,connectionString); } } catch (TDengineError e) @@ -34,40 +36,40 @@ namespace Examples } } - private static void CreateDatabaseAndTable(ITDengineClient client) + private static void CreateDatabaseAndTable(ITDengineClient client, string connectionString) { // ANCHOR: create_db_and_table try { // create database var affected = client.Exec("CREATE DATABASE IF NOT EXISTS power"); - Console.WriteLine($"Create database power, affected rows: {affected}"); + Console.WriteLine($"Create database power successfully, rowsAffected: {affected}"); // create table affected = client.Exec( "CREATE STABLE IF NOT EXISTS power.meters (ts TIMESTAMP, current FLOAT, voltage INT, phase FLOAT) TAGS (groupId INT, location BINARY(24))"); - Console.WriteLine($"Create table meters, affected rows: {affected}"); + Console.WriteLine($"Create stable power.meters successfully, rowsAffected: {affected}"); } catch (TDengineError e) { // handle TDengine error - Console.WriteLine("Failed to create db and table; ErrCode:" + e.Code + "; ErrMessage: " + e.Error); + Console.WriteLine("Failed to create db and table,url:" + connectionString +"; ErrCode:" + e.Code + "; ErrMessage: " + e.Error); throw; } catch (Exception e) { // handle other exceptions - Console.WriteLine("Failed to create db and table; Err:" + e.Message); + Console.WriteLine("Failed to create db and table, url:" + connectionString + "; ErrMessage: " + e.Message); throw; } // ANCHOR_END: create_db_and_table } - private static void InsertData(ITDengineClient client) + private static void InsertData(ITDengineClient client,string connectionString) { // ANCHOR: insert_data try { - // insert data + // insert data, please make sure the database and table are created before var insertQuery = "INSERT INTO " + "power.d1001 USING power.meters TAGS(2,'California.SanFrancisco') " + "VALUES " + @@ -78,29 +80,29 @@ namespace Examples "VALUES " + "(NOW + 1a, 10.30000, 218, 0.25000) "; var affectedRows = client.Exec(insertQuery); - Console.WriteLine("insert " + affectedRows + " rows to power.meters successfully."); + Console.WriteLine("Successfully inserted " + affectedRows + " rows to power.meters."); } catch (TDengineError e) { // handle TDengine error - Console.WriteLine("Failed to insert data to power.meters; ErrCode:" + e.Code + "; ErrMessage: " + e.Error); + Console.WriteLine("Failed to insert data to power.meters, url:" + connectionString + "; ErrCode:" + e.Code + "; ErrMessage: " + e.Error); throw; } catch (Exception e) { // handle other exceptions - Console.WriteLine("Failed to insert data to power.meters; Err:" + e.Message); + Console.WriteLine("Failed to insert data to power.meters, url:" + connectionString + "; ErrMessage: " + e.Message); throw; } // ANCHOR_END: insert_data } - private static void QueryData(ITDengineClient client) + private static void QueryData(ITDengineClient client,string connectionString) { // ANCHOR: select_data try { - // query data + // query data, make sure the database and table are created before var query = "SELECT ts, current, location FROM power.meters limit 100"; using (var rows = client.Query(query)) { @@ -117,27 +119,28 @@ namespace Examples catch (TDengineError e) { // handle TDengine error - Console.WriteLine("Failed to query data from power.meters; ErrCode:" + e.Code + "; ErrMessage: " + e.Error); + Console.WriteLine("Failed to query data from power.meters, url:" + connectionString + "; ErrCode:" + e.Code + "; ErrMessage: " + e.Error); throw; } catch (Exception e) { // handle other exceptions - Console.WriteLine("Failed to query data from power.meters; Err:" + e.Message); + Console.WriteLine("Failed to query data from power.meters, url:" + connectionString + "; ErrMessage: " + e.Message); throw; } // ANCHOR_END: select_data } - private static void QueryWithReqId(ITDengineClient client) + private static void QueryWithReqId(ITDengineClient client,string connectionString) { // ANCHOR: query_id + var reqId = (long)3; try { // query data var query = "SELECT ts, current, location FROM power.meters limit 1"; // query with request id 3 - using (var rows = client.Query(query,3)) + using (var rows = client.Query(query,reqId)) { while (rows.Read()) { @@ -152,13 +155,13 @@ namespace Examples catch (TDengineError e) { // handle TDengine error - Console.WriteLine("Failed to execute sql with reqId; ErrCode:" + e.Code + "; ErrMessage: " + e.Error); + Console.WriteLine("Failed to execute sql with reqId: " + reqId + ", url:" + connectionString + "; ErrCode:" + e.Code + "; ErrMessage: " + e.Error); throw; } catch (Exception e) { // handle other exceptions - Console.WriteLine("Failed to execute sql with reqId; Err:" + e.Message); + Console.WriteLine("Failed to execute sql with reqId: " + reqId + ", url:" + connectionString + "; ErrMessage: " + e.Message); throw; } // ANCHOR_END: query_id diff --git a/docs/examples/csharp/wsStmt/Program.cs b/docs/examples/csharp/wsStmt/Program.cs index 139a423388..394165f109 100644 --- a/docs/examples/csharp/wsStmt/Program.cs +++ b/docs/examples/csharp/wsStmt/Program.cs @@ -13,9 +13,10 @@ namespace Examples var numOfSubTable = 10; var numOfRow = 10; var random = new Random(); + var connectionString = $"protocol=WebSocket;host={host};port=6041;useSSL=false;username=root;password=taosdata"; try { - var builder = new ConnectionStringBuilder($"protocol=WebSocket;host={host};port=6041;useSSL=false;username=root;password=taosdata"); + var builder = new ConnectionStringBuilder(connectionString); using (var client = DbDriver.Open(builder)) { // create database @@ -54,7 +55,7 @@ namespace Examples stmt.Exec(); // get affected rows var affectedRows = stmt.Affected(); - Console.WriteLine($"table {tableName} insert {affectedRows} rows."); + Console.WriteLine($"Successfully inserted {affectedRows} rows to {tableName}."); } } } @@ -62,13 +63,13 @@ namespace Examples catch (TDengineError e) { // handle TDengine error - Console.WriteLine("Failed to insert to table meters using stmt; ErrCode:" + e.Code + "; ErrMessage: " + e.Error); + Console.WriteLine("Failed to insert to table meters using stmt, url: " + connectionString + "; ErrCode:" + e.Code + "; ErrMessage: " + e.Error); throw; } catch (Exception e) { // handle other exceptions - Console.WriteLine("Failed to insert to table meters using stmt; Err:" + e.Message); + Console.WriteLine("Failed to insert to table meters using stmt, url: " + connectionString + "; ErrMessage: " + e.Message); throw; } } diff --git a/docs/examples/csharp/wssml/Program.cs b/docs/examples/csharp/wssml/Program.cs index 1eac06ed08..94ee86919b 100644 --- a/docs/examples/csharp/wssml/Program.cs +++ b/docs/examples/csharp/wssml/Program.cs @@ -29,26 +29,29 @@ namespace TDengineExample // use database client.Exec("USE power"); // insert influx line protocol data - client.SchemalessInsert(new[]{lineDemo}, TDengineSchemalessProtocol.TSDB_SML_LINE_PROTOCOL, + client.SchemalessInsert(new[] { lineDemo }, TDengineSchemalessProtocol.TSDB_SML_LINE_PROTOCOL, TDengineSchemalessPrecision.TSDB_SML_TIMESTAMP_MILLI_SECONDS, 0, ReqId.GetReqId()); // insert opentsdb telnet protocol data - client.SchemalessInsert(new[]{telnetDemo}, TDengineSchemalessProtocol.TSDB_SML_TELNET_PROTOCOL, + client.SchemalessInsert(new[] { telnetDemo }, TDengineSchemalessProtocol.TSDB_SML_TELNET_PROTOCOL, TDengineSchemalessPrecision.TSDB_SML_TIMESTAMP_MILLI_SECONDS, 0, ReqId.GetReqId()); // insert json data - client.SchemalessInsert(new []{jsonDemo}, TDengineSchemalessProtocol.TSDB_SML_JSON_PROTOCOL, + client.SchemalessInsert(new[] { jsonDemo }, TDengineSchemalessProtocol.TSDB_SML_JSON_PROTOCOL, TDengineSchemalessPrecision.TSDB_SML_TIMESTAMP_NOT_CONFIGURED, 0, ReqId.GetReqId()); } + + Console.WriteLine("Inserted data with schemaless successfully."); } catch (TDengineError e) { // handle TDengine error - Console.WriteLine("Failed to insert data with schemaless; ErrCode:" + e.Code + "; ErrMessage: " + e.Error); + Console.WriteLine("Failed to insert data with schemaless, host:" + host + "; ErrCode:" + e.Code + + "; ErrMessage: " + e.Error); throw; } catch (Exception e) { // handle other exceptions - Console.WriteLine("Failed to insert data with schemaless; Err:" + e.Message); + Console.WriteLine("Failed to insert data with schemaless, host:" + host + "; ErrMessage: " + e.Message); throw; } } diff --git a/docs/examples/csharp/wssubscribe/Program.cs b/docs/examples/csharp/wssubscribe/Program.cs index 4f242e12e2..cfde01920c 100644 --- a/docs/examples/csharp/wssubscribe/Program.cs +++ b/docs/examples/csharp/wssubscribe/Program.cs @@ -10,7 +10,9 @@ namespace TMQExample { try { - var builder = new ConnectionStringBuilder("protocol=WebSocket;host=127.0.0.1;port=6041;username=root;password=taosdata"); + var builder = + new ConnectionStringBuilder( + "protocol=WebSocket;host=127.0.0.1;port=6041;username=root;password=taosdata"); using (var client = DbDriver.Open(builder)) { client.Exec("CREATE DATABASE IF NOT EXISTS power"); @@ -48,7 +50,9 @@ namespace TMQExample static void InsertData() { - var builder = new ConnectionStringBuilder("protocol=WebSocket;host=127.0.0.1;port=6041;username=root;password=taosdata"); + var builder = + new ConnectionStringBuilder( + "protocol=WebSocket;host=127.0.0.1;port=6041;username=root;password=taosdata"); using (var client = DbDriver.Open(builder)) { while (true) @@ -64,17 +68,20 @@ namespace TMQExample { // ANCHOR: create_consumer // consumer config + var host = "127.0.0.1"; + var groupId = "group1"; + var clientId = "client1"; var cfg = new Dictionary() { - {"td.connect.type", "WebSocket"}, + { "td.connect.type", "WebSocket" }, { "td.connect.port", "6041" }, { "auto.offset.reset", "latest" }, { "msg.with.table.name", "true" }, { "enable.auto.commit", "true" }, { "auto.commit.interval.ms", "1000" }, - { "group.id", "group1" }, - { "client.id", "client1" }, - { "td.connect.ip", "127.0.0.1" }, + { "group.id", groupId }, + { "client.id", clientId }, + { "td.connect.ip", host }, { "td.connect.user", "root" }, { "td.connect.pass", "taosdata" }, }; @@ -83,17 +90,20 @@ namespace TMQExample { // create consumer consumer = new ConsumerBuilder>(cfg).Build(); + Console.WriteLine("Create consumer successfully, host: " + host + ", groupId: " + groupId + + ", clientId: " + clientId); } catch (TDengineError e) { // handle TDengine error - Console.WriteLine("Failed to create consumer; ErrCode:" + e.Code + "; ErrMessage: " + e.Error); + Console.WriteLine("Failed to create websocket consumer, host : " + host + "; ErrCode:" + e.Code + + "; ErrMessage: " + e.Error); throw; } catch (Exception e) { // handle other exceptions - Console.WriteLine("Failed to create consumer; Err:" + e.Message); + Console.WriteLine("Failed to create websocket consumer, host : " + host + "; ErrMessage: " + e.Message); throw; } @@ -108,6 +118,7 @@ namespace TMQExample { // subscribe consumer.Subscribe(new List() { "topic_meters" }); + Console.WriteLine("subscribe topics successfully"); for (int i = 0; i < 50; i++) { // consume message with using block to ensure the result is disposed @@ -118,7 +129,7 @@ namespace TMQExample { // handle message Console.WriteLine( - $"data {{{((DateTime)message.Value["ts"]).ToString("yyyy-MM-dd HH:mm:ss.fff")}, " + + $"data: {{{((DateTime)message.Value["ts"]).ToString("yyyy-MM-dd HH:mm:ss.fff")}, " + $"{message.Value["current"]}, {message.Value["voltage"]}, {message.Value["phase"]}}}"); } } @@ -133,7 +144,7 @@ namespace TMQExample catch (Exception e) { // handle other exceptions - Console.WriteLine("Failed to poll data; Err:" + e.Message); + Console.WriteLine("Failed to poll data; ErrMessage:" + e.Message); throw; } // ANCHOR_END: subscribe @@ -146,6 +157,7 @@ namespace TMQExample { // get assignment var assignment = consumer.Assignment; + Console.WriteLine($"now assignment: ${assignment}"); // seek to the beginning foreach (var topicPartition in assignment) { @@ -166,6 +178,7 @@ namespace TMQExample $"second data polled: {{{((DateTime)message.Value["ts"]).ToString("yyyy-MM-dd HH:mm:ss.fff")}, " + $"{message.Value["current"]}, {message.Value["voltage"]}, {message.Value["phase"]}}}"); } + break; } } @@ -173,13 +186,13 @@ namespace TMQExample catch (TDengineError e) { // handle TDengine error - Console.WriteLine("Failed to seek; ErrCode:" + e.Code + "; ErrMessage: " + e.Error); + Console.WriteLine("seek example failed; ErrCode:" + e.Code + "; ErrMessage: " + e.Error); throw; } catch (Exception e) { // handle other exceptions - Console.WriteLine("Failed to seek; Err:" + e.Message); + Console.WriteLine("seek example failed; ErrMessage: " + e.Message); throw; } // ANCHOR_END: seek @@ -201,18 +214,19 @@ namespace TMQExample { cr.TopicPartitionOffset, }); + Console.WriteLine("commit offset manually successfully."); } } catch (TDengineError e) { // handle TDengine error - Console.WriteLine("Failed to commit offset; ErrCode:" + e.Code + "; ErrMessage: " + e.Error); + Console.WriteLine("Failed to execute consumer functions. ErrCode:" + e.Code + "; ErrMessage: " + e.Error); throw; } catch (Exception e) { // handle other exceptions - Console.WriteLine("Failed to commit offset; Err:" + e.Message); + Console.WriteLine("Failed to execute consumer functions. ErrMessage:" + e.Message); throw; } } @@ -230,19 +244,20 @@ namespace TMQExample catch (TDengineError e) { // handle TDengine error - Console.WriteLine("Failed to unsubscribe consumer; ErrCode:" + e.Code + "; ErrMessage: " + e.Error); + Console.WriteLine("Failed to unsubscribe consumer. ErrCode:" + e.Code + "; ErrMessage: " + e.Error); throw; } catch (Exception e) { // handle other exceptions - Console.WriteLine("Failed to unsubscribe consumer; Err:" + e.Message); + Console.WriteLine("Failed to unsubscribe consumer. Err: " + e.Message); throw; } finally { // close consumer consumer.Close(); + Console.WriteLine("consumer closed successfully."); } // ANCHOR_END: close } diff --git a/docs/examples/go/connect/cgoexample/main.go b/docs/examples/go/connect/cgoexample/main.go index 02dbb6ab85..eb5d270e93 100644 --- a/docs/examples/go/connect/cgoexample/main.go +++ b/docs/examples/go/connect/cgoexample/main.go @@ -15,7 +15,7 @@ func main() { var taosDSN = "root:taosdata@tcp(localhost:6030)/" taos, err := sql.Open("taosSql", taosDSN) if err != nil { - log.Fatalln("failed to connect TDengine, err:", err) + log.Fatalln("Failed to connect to " + taosDSN + "; ErrMessage: " + err.Error()) } fmt.Println("Connected to " + taosDSN + " successfully.") defer taos.Close() diff --git a/docs/examples/go/connect/restexample/main.go b/docs/examples/go/connect/restexample/main.go index a76091a4a3..aeee04c6a9 100644 --- a/docs/examples/go/connect/restexample/main.go +++ b/docs/examples/go/connect/restexample/main.go @@ -15,7 +15,7 @@ func main() { var taosDSN = "root:taosdata@http(localhost:6041)/" taos, err := sql.Open("taosRestful", taosDSN) if err != nil { - log.Fatalln("failed to connect TDengine, err:", err) + log.Fatalln("Failed to connect to " + taosDSN + "; ErrMessage: " + err.Error()) } fmt.Println("Connected to " + taosDSN + " successfully.") defer taos.Close() diff --git a/docs/examples/go/connect/wsexample/main.go b/docs/examples/go/connect/wsexample/main.go index 5c5abf0796..57b6c8dd1f 100644 --- a/docs/examples/go/connect/wsexample/main.go +++ b/docs/examples/go/connect/wsexample/main.go @@ -15,7 +15,7 @@ func main() { var taosDSN = "root:taosdata@ws(localhost:6041)/" taos, err := sql.Open("taosWS", taosDSN) if err != nil { - log.Fatalln("failed to connect TDengine, err:", err) + log.Fatalln("Failed to connect to " + taosDSN + "; ErrMessage: " + err.Error()) } fmt.Println("Connected to " + taosDSN + " successfully.") defer taos.Close() diff --git a/docs/examples/go/queryreqid/main.go b/docs/examples/go/queryreqid/main.go index f43a5b5c44..045f0f8901 100644 --- a/docs/examples/go/queryreqid/main.go +++ b/docs/examples/go/queryreqid/main.go @@ -11,19 +11,21 @@ import ( ) func main() { - db, err := sql.Open("taosSql", "root:taosdata@tcp(localhost:6030)/") + taosDSN := "root:taosdata@tcp(localhost:6030)/" + db, err := sql.Open("taosSql", taosDSN) if err != nil { - log.Fatal("Open database error: ", err) + log.Fatalln("Failed to connect to " + taosDSN + "; ErrMessage: " + err.Error()) } defer db.Close() initEnv(db) // ANCHOR: query_id // use context to set request id - ctx := context.WithValue(context.Background(), "taos_req_id", int64(3)) + reqId := int64(3) + ctx := context.WithValue(context.Background(), "taos_req_id", reqId) // execute query with context rows, err := db.QueryContext(ctx, "SELECT ts, current, location FROM power.meters limit 1") if err != nil { - log.Fatal("Query error: ", err) + log.Fatalf("Failed to execute sql with reqId: %d, url: %s; ErrMessage: %s\n", reqId, taosDSN, err.Error()) } for rows.Next() { var ( diff --git a/docs/examples/go/schemaless/native/main.go b/docs/examples/go/schemaless/native/main.go index acb5b95c89..6caa8bb4cb 100644 --- a/docs/examples/go/schemaless/native/main.go +++ b/docs/examples/go/schemaless/native/main.go @@ -1,6 +1,7 @@ package main import ( + "fmt" "log" "github.com/taosdata/driver-go/v3/af" @@ -14,30 +15,31 @@ func main() { conn, err := af.Open(host, "root", "taosdata", "", 0) if err != nil { - log.Fatal("failed to connect TDengine, err:", err) + log.Fatalln("Failed to connect to host: " + host + "; ErrMessage: " + err.Error()) } defer conn.Close() _, err = conn.Exec("CREATE DATABASE IF NOT EXISTS power") if err != nil { - log.Fatal("failed to create database, err:", err) + log.Fatalln("Failed to create db host: " + host + "; ErrMessage: " + err.Error()) } _, err = conn.Exec("USE power") if err != nil { - log.Fatal("failed to use database, err:", err) + log.Fatalln("Failed to use db host: " + host + "; ErrMessage: " + err.Error()) } // insert influxdb line protocol err = conn.InfluxDBInsertLines([]string{lineDemo}, "ms") if err != nil { - log.Fatal("failed to insert influxdb line protocol, err:", err) + log.Fatalln("Failed to insert data with schemaless, host: " + host + "; ErrMessage: " + err.Error()) } // insert opentsdb telnet protocol err = conn.OpenTSDBInsertTelnetLines([]string{telnetDemo}) if err != nil { - log.Fatal("failed to insert opentsdb telnet line protocol, err:", err) + log.Fatalln("Failed to insert data with schemaless, host: " + host + "; ErrMessage: " + err.Error()) } // insert opentsdb json protocol err = conn.OpenTSDBInsertJsonPayload(jsonDemo) if err != nil { - log.Fatal("failed to insert opentsdb json format protocol, err:", err) + log.Fatalln("Failed to insert data with schemaless, host: " + host + "; ErrMessage: " + err.Error()) } + fmt.Println("Inserted data with schemaless successfully.") } diff --git a/docs/examples/go/schemaless/ws/main.go b/docs/examples/go/schemaless/ws/main.go index 84280fc0fa..8507a70811 100644 --- a/docs/examples/go/schemaless/ws/main.go +++ b/docs/examples/go/schemaless/ws/main.go @@ -17,14 +17,15 @@ func main() { telnetDemo := "metric_telnet 1707095283260 4 host=host0 interface=eth0" jsonDemo := "{\"metric\": \"metric_json\",\"timestamp\": 1626846400,\"value\": 10.3, \"tags\": {\"groupid\": 2, \"location\": \"California.SanFrancisco\", \"id\": \"d1001\"}}" - db, err := sql.Open("taosWS", fmt.Sprintf("root:taosdata@ws(%s:6041)/", host)) + taosDSN := fmt.Sprintf("root:taosdata@ws(%s:6041)/", host) + db, err := sql.Open("taosWS", taosDSN) if err != nil { - log.Fatal("failed to connect TDengine, err:", err) + log.Fatalln("Failed to connect to host: " + host + "; ErrMessage: " + err.Error()) } defer db.Close() _, err = db.Exec("CREATE DATABASE IF NOT EXISTS power") if err != nil { - log.Fatal("failed to create database, err:", err) + log.Fatalln("Failed to create db host: " + host + "; ErrMessage: " + err.Error()) } s, err := schemaless.NewSchemaless(schemaless.NewConfig("ws://localhost:6041", 1, schemaless.SetDb("power"), @@ -34,21 +35,22 @@ func main() { schemaless.SetPassword("taosdata"), )) if err != nil { - log.Fatal("failed to create schemaless connection, err:", err) + log.Fatalln("Failed to connect to host: " + host + "; ErrMessage: " + err.Error()) } // insert influxdb line protocol err = s.Insert(lineDemo, schemaless.InfluxDBLineProtocol, "ms", 0, common.GetReqID()) if err != nil { - log.Fatal("failed to insert influxdb line protocol, err:", err) + log.Fatalln("Failed to insert data with schemaless, host:" + host + "; ErrMessage: " + err.Error()) } // insert opentsdb telnet line protocol err = s.Insert(telnetDemo, schemaless.OpenTSDBTelnetLineProtocol, "ms", 0, common.GetReqID()) if err != nil { - log.Fatal("failed to insert opentsdb telnet line protocol, err:", err) + log.Fatalln("Failed to insert data with schemaless, host: " + host + "; ErrMessage: " + err.Error()) } // insert opentsdb json format protocol err = s.Insert(jsonDemo, schemaless.OpenTSDBJsonFormatProtocol, "s", 0, common.GetReqID()) if err != nil { - log.Fatal("failed to insert opentsdb json format protocol, err:", err) + log.Fatalln("Failed to insert data with schemaless, host: " + host + "; ErrMessage: " + err.Error()) } + fmt.Println("Inserted data with schemaless successfully.") } diff --git a/docs/examples/go/sqlquery/main.go b/docs/examples/go/sqlquery/main.go index 19d0029bfa..e03c2a14c4 100644 --- a/docs/examples/go/sqlquery/main.go +++ b/docs/examples/go/sqlquery/main.go @@ -10,39 +10,35 @@ import ( ) func main() { - db, err := sql.Open("taosSql", "root:taosdata@tcp(localhost:6030)/") + var taosDSN = "root:taosdata@tcp(localhost:6030)/" + db, err := sql.Open("taosSql", taosDSN) if err != nil { - log.Fatal("open database failed:", err) + log.Fatalln("Failed to connect to " + taosDSN + "; ErrMessage: " + err.Error()) } defer db.Close() // ANCHOR: create_db_and_table // create database res, err := db.Exec("CREATE DATABASE IF NOT EXISTS power") if err != nil { - log.Fatal("create database failed:", err) + log.Fatalln("Failed to create db, url:" + taosDSN + "; ErrMessage: " + err.Error()) } - affected, err := res.RowsAffected() + rowsAffected, err := res.RowsAffected() if err != nil { - log.Fatal("get affected rows failed:", err) + log.Fatalln("Failed to get create db rowsAffected, url:" + taosDSN + "; ErrMessage: " + err.Error()) } - fmt.Println("create database affected:", affected) - // use database - res, err = db.Exec("USE power") - if err != nil { - log.Fatal("use database failed:", err) - } - affected, err = res.RowsAffected() - if err != nil { - log.Fatal("get affected rows failed:", err) - } - fmt.Println("use database affected:", affected) + // you can check rowsAffected here + fmt.Println("Create database power successfully, rowsAffected: ", rowsAffected) // create table res, err = db.Exec("CREATE STABLE IF NOT EXISTS power.meters (ts TIMESTAMP, current FLOAT, voltage INT, phase FLOAT) TAGS (groupId INT, location BINARY(24))") - affected, err = res.RowsAffected() if err != nil { - log.Fatal("create table failed:", err) + log.Fatalln("Failed to create db and table, url:" + taosDSN + "; ErrMessage: " + err.Error()) } - fmt.Println("create table affected:", affected) + rowsAffected, err = res.RowsAffected() + if err != nil { + log.Fatalln("Failed to get create create rowsAffected, url:" + taosDSN + "; ErrMessage: " + err.Error()) + } + // you can check rowsAffected here + fmt.Println("Create stable power.meters successfully, rowsAffected:", rowsAffected) // ANCHOR_END: create_db_and_table // ANCHOR: insert_data // insert data, please make sure the database and table are created before @@ -57,14 +53,14 @@ func main() { "(NOW + 1a, 10.30000, 218, 0.25000) " res, err = db.Exec(insertQuery) if err != nil { - log.Fatal("insert data failed:", err) + log.Fatal("Failed to insert data to power.meters, url:" + taosDSN + "; ErrMessage: " + err.Error()) } - affected, err = res.RowsAffected() + rowsAffected, err = res.RowsAffected() if err != nil { - log.Fatal("get affected rows failed:", err) + log.Fatal("Failed to get insert rowsAffected, url:" + taosDSN + "; ErrMessage: " + err.Error()) } // you can check affectedRows here - fmt.Println("insert data affected:", affected) + fmt.Printf("Successfully inserted %d rows to power.meters.\n", rowsAffected) // ANCHOR_END: insert_data // ANCHOR: select_data // query data, make sure the database and table are created before diff --git a/docs/examples/go/stmt/native/main.go b/docs/examples/go/stmt/native/main.go index 6fec28969b..46db6eee46 100644 --- a/docs/examples/go/stmt/native/main.go +++ b/docs/examples/go/stmt/native/main.go @@ -17,28 +17,28 @@ func main() { numOfRow := 10 db, err := af.Open(host, "root", "taosdata", "", 0) if err != nil { - log.Fatal("failed to connect TDengine, err:", err) + log.Fatalln("Failed to connect to " + host + "; ErrMessage: " + err.Error()) } defer db.Close() // prepare database and table _, err = db.Exec("CREATE DATABASE IF NOT EXISTS power") if err != nil { - log.Fatal("failed to create database, err:", err) + log.Fatalln("Failed to create db, host: " + host + "; ErrMessage: " + err.Error()) } _, err = db.Exec("USE power") if err != nil { - log.Fatal("failed to use database, err:", err) + log.Fatalln("Failed to use db, host: " + host + "; ErrMessage: " + err.Error()) } _, err = db.Exec("CREATE STABLE IF NOT EXISTS meters (ts TIMESTAMP, current FLOAT, voltage INT, phase FLOAT) TAGS (groupId INT, location BINARY(24))") if err != nil { - log.Fatal("failed to create table, err:", err) + log.Fatalln("Failed to create table, host: " + host + "; ErrMessage: " + err.Error()) } // prepare statement sql := "INSERT INTO ? USING meters TAGS(?,?) VALUES (?,?,?,?)" stmt := db.Stmt() err = stmt.Prepare(sql) if err != nil { - log.Fatal("failed to prepare statement, err:", err) + log.Fatalln("Failed to prepare sql, host: " + host + "; ErrMessage: " + err.Error()) } for i := 1; i <= numOfSubTable; i++ { tableName := fmt.Sprintf("d_bind_%d", i) @@ -46,7 +46,7 @@ func main() { // set tableName and tags err = stmt.SetTableNameWithTags(tableName, tags) if err != nil { - log.Fatal("failed to set table name and tags, err:", err) + log.Fatalln("Failed to set table name and tags, host: " + host + "; ErrMessage: " + err.Error()) } // bind column data current := time.Now() @@ -58,23 +58,23 @@ func main() { AddFloat(rand.Float32()) err = stmt.BindRow(row) if err != nil { - log.Fatal("failed to bind row, err:", err) + log.Fatalln("Failed to bind params, host: " + host + "; ErrMessage: " + err.Error()) } } // add batch err = stmt.AddBatch() if err != nil { - log.Fatal("failed to add batch, err:", err) + log.Fatalln("Failed to add batch, host: " + host + "; ErrMessage: " + err.Error()) } // execute batch err = stmt.Execute() if err != nil { - log.Fatal("failed to execute batch, err:", err) + log.Fatalln("Failed to exec, host: " + host + "; ErrMessage: " + err.Error()) } // get affected rows affected := stmt.GetAffectedRows() // you can check exeResult here - fmt.Printf("table %s insert %d rows.\n", tableName, affected) + fmt.Printf("Successfully inserted %d rows to %s.\n", affected, tableName) } err = stmt.Close() if err != nil { diff --git a/docs/examples/go/stmt/ws/main.go b/docs/examples/go/stmt/ws/main.go index 4873e7df91..ae224c704f 100644 --- a/docs/examples/go/stmt/ws/main.go +++ b/docs/examples/go/stmt/ws/main.go @@ -17,19 +17,21 @@ func main() { host := "127.0.0.1" numOfSubTable := 10 numOfRow := 10 - db, err := sql.Open("taosRestful", fmt.Sprintf("root:taosdata@http(%s:6041)/", host)) + + taosDSN := fmt.Sprintf("root:taosdata@http(%s:6041)/", host) + db, err := sql.Open("taosRestful", taosDSN) if err != nil { - log.Fatal("failed to connect TDengine, err:", err) + log.Fatalln("Failed to connect to " + taosDSN + "; ErrMessage: " + err.Error()) } defer db.Close() // prepare database and table _, err = db.Exec("CREATE DATABASE IF NOT EXISTS power") if err != nil { - log.Fatal("failed to create database, err:", err) + log.Fatalln("Failed to create db, url: " + taosDSN + "; ErrMessage: " + err.Error()) } _, err = db.Exec("CREATE STABLE IF NOT EXISTS power.meters (ts TIMESTAMP, current FLOAT, voltage INT, phase FLOAT) TAGS (groupId INT, location BINARY(24))") if err != nil { - log.Fatal("failed to create table, err:", err) + log.Fatalln("Failed to create table, url: " + taosDSN + "; ErrMessage: " + err.Error()) } config := stmt.NewConfig(fmt.Sprintf("ws://%s:6041", host), 0) @@ -41,17 +43,17 @@ func main() { connector, err := stmt.NewConnector(config) if err != nil { - log.Fatal("failed to create stmt connector, err:", err) + log.Fatalln("Failed to create stmt connector,url: " + taosDSN + "; ErrMessage: " + err.Error()) } // prepare statement sql := "INSERT INTO ? USING meters TAGS(?,?) VALUES (?,?,?,?)" stmt, err := connector.Init() if err != nil { - log.Fatal("failed to init stmt, err:", err) + log.Fatalln("Failed to init stmt, url: " + taosDSN + "; ErrMessage: " + err.Error()) } err = stmt.Prepare(sql) if err != nil { - log.Fatal("failed to prepare stmt, err:", err) + log.Fatal("Failed to prepare sql, url: " + taosDSN + "; ErrMessage: " + err.Error()) } for i := 1; i <= numOfSubTable; i++ { tableName := fmt.Sprintf("d_bind_%d", i) @@ -61,12 +63,12 @@ func main() { // set tableName err = stmt.SetTableName(tableName) if err != nil { - log.Fatal("failed to set table name, err:", err) + log.Fatal("Failed to set table name, url: " + taosDSN + "; ErrMessage: " + err.Error()) } // set tags err = stmt.SetTags(tags, tagsType) if err != nil { - log.Fatal("failed to set tags, err:", err) + log.Fatal("Failed to set tags, url: " + taosDSN + "; ErrMessage: " + err.Error()) } // bind column data current := time.Now() @@ -78,26 +80,26 @@ func main() { columnData[3] = param.NewParam(1).AddFloat(rand.Float32()) err = stmt.BindParam(columnData, columnType) if err != nil { - log.Fatal("failed to bind param, err:", err) + log.Fatal("Failed to bind params, url: " + taosDSN + "; ErrMessage: " + err.Error()) } } // add batch err = stmt.AddBatch() if err != nil { - log.Fatal("failed to add batch, err:", err) + log.Fatal("Failed to add batch, url: " + taosDSN + "; ErrMessage: " + err.Error()) } // execute batch err = stmt.Exec() if err != nil { - log.Fatal("failed to exec stmt, err:", err) + log.Fatal("Failed to exec, url: " + taosDSN + "; ErrMessage: " + err.Error()) } // get affected rows affected := stmt.GetAffectedRows() // you can check exeResult here - fmt.Printf("table %s insert %d rows.\n", tableName, affected) + fmt.Printf("Successfully inserted %d rows to %s.\n", affected, tableName) } err = stmt.Close() if err != nil { - log.Fatal("failed to close stmt, err:", err) + log.Fatal("Failed to close stmt, url: " + taosDSN + "; ErrMessage: " + err.Error()) } } diff --git a/docs/examples/go/tmq/native/main.go b/docs/examples/go/tmq/native/main.go index 299d5ada07..b5f7c8c103 100644 --- a/docs/examples/go/tmq/native/main.go +++ b/docs/examples/go/tmq/native/main.go @@ -15,9 +15,10 @@ var done = make(chan struct{}) func main() { // init env - conn, err := sql.Open("taosSql", "root:taosdata@tcp(127.0.0.1:6030)/") + taosDSN := "root:taosdata@tcp(127.0.0.1:6030)/" + conn, err := sql.Open("taosSql", taosDSN) if err != nil { - log.Fatal("failed to connect TDengine, err:", err) + log.Fatalln("Failed to connect to " + taosDSN + "; ErrMessage: " + err.Error()) } defer func() { conn.Close() @@ -25,6 +26,9 @@ func main() { initEnv(conn) // ANCHOR: create_consumer // create consumer + groupID := "group1" + clientID := "client1" + host := "127.0.0.1" consumer, err := tmq.NewConsumer(&tmqcommon.ConfigMap{ "td.connect.user": "root", "td.connect.pass": "taosdata", @@ -32,18 +36,21 @@ func main() { "msg.with.table.name": "true", "enable.auto.commit": "true", "auto.commit.interval.ms": "1000", - "group.id": "group1", - "client.id": "client1", + "group.id": groupID, + "client.id": clientID, }) if err != nil { - log.Fatal("failed to create consumer, err:", err) + log.Fatalln("Failed to create native consumer, host : " + host + "; ErrMessage: " + err.Error()) } + log.Println("Create consumer successfully, host: " + host + ", groupId: " + groupID + ", clientId: " + clientID) + // ANCHOR_END: create_consumer // ANCHOR: subscribe err = consumer.Subscribe("topic_meters", nil) if err != nil { - log.Fatal("failed to subscribe, err:", err) + log.Fatalln("Failed to subscribe, host : " + host + "; ErrMessage: " + err.Error()) } + log.Println("subscribe topics successfully") for i := 0; i < 50; i++ { ev := consumer.Poll(100) if ev != nil { @@ -53,23 +60,16 @@ func main() { fmt.Printf("data:%v\n", e) // ANCHOR: commit_offset // commit offset - topicPartition, err := consumer.CommitOffsets([]tmqcommon.TopicPartition{e.TopicPartition}) + _, err = consumer.CommitOffsets([]tmqcommon.TopicPartition{e.TopicPartition}) if err != nil { - log.Fatal("failed to commit offset, err:", err) + log.Fatalln("Failed to commit offset, host : " + host + "; ErrMessage: " + err.Error()) } - fmt.Println(topicPartition) + log.Println("commit offset manually successfully.") // ANCHOR_END: commit_offset case tmqcommon.Error: fmt.Printf("%% Error: %v: %v\n", e.Code(), e) - log.Fatal("failed to get message, err:", e) + log.Fatalln("Failed to poll data, host : " + host + "; ErrMessage: " + err.Error()) } - // commit all offsets - topicPartition, err := consumer.Commit() - if err != nil { - log.Fatal("failed to commit, err:", err) - } - fmt.Println(topicPartition) - } } // ANCHOR_END: subscribe @@ -79,8 +79,8 @@ func main() { if err != nil { log.Fatal("failed to get assignment, err:", err) } + fmt.Println("now assignment:", partitions) for i := 0; i < len(partitions); i++ { - fmt.Println(partitions[i]) // seek to the beginning err = consumer.Seek(tmqcommon.TopicPartition{ Topic: partitions[i].Topic, @@ -88,7 +88,7 @@ func main() { Offset: 0, }, 0) if err != nil { - log.Fatal("failed to seek, err:", err) + log.Fatalln("seek example failed; ErrMessage: " + err.Error()) } } fmt.Println("assignment seek to beginning successfully") @@ -116,12 +116,12 @@ func main() { // unsubscribe err = consumer.Unsubscribe() if err != nil { - log.Fatal("failed to unsubscribe, err:", err) + log.Fatal("Failed to unsubscribe consumer. ErrMessage: " + err.Error()) } // close consumer err = consumer.Close() if err != nil { - log.Fatal("failed to close consumer, err:", err) + log.Fatal("Failed to close consumer. ErrMessage: " + err.Error()) } // ANCHOR_END: close <-done diff --git a/docs/examples/go/tmq/ws/main.go b/docs/examples/go/tmq/ws/main.go index e05f863fb5..073efd1bba 100644 --- a/docs/examples/go/tmq/ws/main.go +++ b/docs/examples/go/tmq/ws/main.go @@ -16,9 +16,10 @@ var done = make(chan struct{}) func main() { // init env - conn, err := sql.Open("taosWS", "root:taosdata@ws(127.0.0.1:6041)/") + taosDSN := "root:taosdata@ws(127.0.0.1:6041)/" + conn, err := sql.Open("taosWS", taosDSN) if err != nil { - log.Fatal("failed to connect TDengine, err:", err) + log.Fatalln("Failed to connect to " + taosDSN + "; ErrMessage: " + err.Error()) } defer func() { conn.Close() @@ -26,8 +27,11 @@ func main() { initEnv(conn) // ANCHOR: create_consumer // create consumer + wsUrl := "ws://127.0.0.1:6041" + groupID := "group1" + clientID := "client1" consumer, err := tmq.NewConsumer(&tmqcommon.ConfigMap{ - "ws.url": "ws://127.0.0.1:6041", + "ws.url": wsUrl, "ws.message.channelLen": uint(0), "ws.message.timeout": common.DefaultMessageTimeout, "ws.message.writeWait": common.DefaultWriteWait, @@ -37,18 +41,21 @@ func main() { "msg.with.table.name": "true", "enable.auto.commit": "true", "auto.commit.interval.ms": "1000", - "group.id": "group1", - "client.id": "client1", + "group.id": groupID, + "client.id": clientID, }) if err != nil { - log.Fatal("failed to create consumer, err:", err) + log.Fatalln("Failed to create websocket consumer, host : " + wsUrl + "; ErrMessage: " + err.Error()) } + log.Println("Create consumer successfully, host: " + wsUrl + ", groupId: " + groupID + ", clientId: " + clientID) + // ANCHOR_END: create_consumer // ANCHOR: subscribe err = consumer.Subscribe("topic_meters", nil) if err != nil { - log.Fatal("failed to subscribe, err:", err) + log.Fatalln("Failed to subscribe, host : " + wsUrl + "; ErrMessage: " + err.Error()) } + log.Println("subscribe topics successfully") for i := 0; i < 50; i++ { ev := consumer.Poll(100) if ev != nil { @@ -58,23 +65,16 @@ func main() { fmt.Printf("data:%v\n", e) // ANCHOR: commit_offset // commit offset - topicPartition, err := consumer.CommitOffsets([]tmqcommon.TopicPartition{e.TopicPartition}) + _, err = consumer.CommitOffsets([]tmqcommon.TopicPartition{e.TopicPartition}) if err != nil { - log.Fatal("failed to commit offset, err:", err) + log.Fatalln("Failed to commit offset, host : " + wsUrl + "; ErrMessage: " + err.Error()) } - fmt.Println(topicPartition) + log.Println("commit offset manually successfully.") // ANCHOR_END: commit_offset case tmqcommon.Error: fmt.Printf("%% Error: %v: %v\n", e.Code(), e) - log.Fatal("failed to get message, err:", e) + log.Fatalln("Failed to poll data, host : " + wsUrl + "; ErrMessage: " + err.Error()) } - // commit all offsets - topicPartition, err := consumer.Commit() - if err != nil { - log.Fatal("failed to commit, err:", err) - } - fmt.Println(topicPartition) - } } // ANCHOR_END: subscribe @@ -84,8 +84,8 @@ func main() { if err != nil { log.Fatal("failed to get assignment, err:", err) } + fmt.Println("now assignment:", partitions) for i := 0; i < len(partitions); i++ { - fmt.Println(partitions[i]) // seek to the beginning err = consumer.Seek(tmqcommon.TopicPartition{ Topic: partitions[i].Topic, @@ -93,7 +93,7 @@ func main() { Offset: 0, }, 0) if err != nil { - log.Fatal("failed to seek, err:", err) + log.Fatalln("seek example failed; ErrMessage: " + err.Error()) } } fmt.Println("assignment seek to beginning successfully") @@ -121,12 +121,12 @@ func main() { // unsubscribe err = consumer.Unsubscribe() if err != nil { - log.Fatal("failed to unsubscribe, err:", err) + log.Fatal("Failed to unsubscribe consumer. ErrMessage: " + err.Error()) } // close consumer err = consumer.Close() if err != nil { - log.Fatal("failed to close consumer, err:", err) + log.Fatal("Failed to close consumer. ErrMessage: " + err.Error()) } // ANCHOR_END: close <-done diff --git a/tests/docs-examples-test/go.sh b/tests/docs-examples-test/go.sh index f8716b6bd7..ea19d3212a 100644 --- a/tests/docs-examples-test/go.sh +++ b/tests/docs-examples-test/go.sh @@ -2,6 +2,21 @@ set -e +check_transactions() { + for i in {1..30} + do + output=$(taos -s "show transactions;") + if [[ $output == *"Query OK, 0 row(s)"* ]]; then + echo "Success: No transactions are in progress." + return 0 + fi + sleep 1 + done + + echo "Error: Transactions are still in progress after 30 attempts." + return 1 +} + taosd >>/dev/null 2>&1 & taosadapter >>/dev/null 2>&1 & sleep 1 @@ -19,60 +34,61 @@ taos -s "drop database if exists power" go run ./sqlquery/main.go taos -s "drop database if exists power" -sleep 1 +check_transactions || exit 1 go run ./queryreqid/main.go taos -s "drop database if exists power" -sleep 1 +check_transactions || exit 1 go run ./stmt/native/main.go taos -s "drop database if exists power" -sleep 1 +check_transactions || exit 1 go run ./stmt/ws/main.go taos -s "drop database if exists power" -sleep 1 +check_transactions || exit 1 +sleep 3 go run ./schemaless/native/main.go taos -s "drop database if exists power" -sleep 1 +check_transactions || exit 1 go run ./schemaless/ws/main.go taos -s "drop topic if exists topic_meters" -sleep 1 +check_transactions || exit 1 taos -s "drop database if exists power" -sleep 1 +check_transactions || exit 1 go run ./tmq/native/main.go taos -s "drop topic if exists topic_meters" -sleep 1 +check_transactions || exit 1 taos -s "drop database if exists power" -sleep 1 +check_transactions || exit 1 go run ./tmq/ws/main.go taos -s "drop database if exists test" -sleep 1 +check_transactions || exit 1 go run ./insert/json/main.go taos -s "drop database if exists test" -sleep 1 +check_transactions || exit 1 go run ./insert/line/main.go taos -s "drop topic if exists topic_meters" -sleep 1 +check_transactions || exit 1 taos -s "drop database if exists power" -sleep 1 +check_transactions || exit 1 go run ./insert/sql/main.go taos -s "drop database if exists power" -sleep 1 +check_transactions || exit 1 go run ./insert/stmt/main.go taos -s "drop database if exists test" -sleep 1 +check_transactions || exit 1 go run ./insert/telnet/main.go go run ./query/sync/main.go taos -s "drop topic if exists example_tmq_topic" -sleep 1 +check_transactions || exit 1 taos -s "drop database if exists example_tmq" -sleep 1 +check_transactions || exit 1 go run ./sub/main.go