Merge branch 'docs/sheyj-3.0' of github.com:taosdata/TDengine into docs/sheyj-3.0

This commit is contained in:
Yaming Pei 2024-08-12 17:42:00 +08:00
commit 891b5b1990
19 changed files with 251 additions and 196 deletions

View File

@ -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
}
}

View File

@ -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;
}
}

View File

@ -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<string, string>()
{
{ "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<Dictionary<string, object>>(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<string>() { "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
}

View File

@ -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

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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<string, string>()
{
{"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<Dictionary<string, object>>(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<string>() { "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
}

View File

@ -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()

View File

@ -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()

View File

@ -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()

View File

@ -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 (

View File

@ -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.")
}

View File

@ -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.")
}

View File

@ -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

View File

@ -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 {

View File

@ -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())
}
}

View File

@ -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

View File

@ -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

View File

@ -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