diff --git a/docs-cn/06-insert-data/_rust_line.mdx b/docs-cn/06-insert-data/_rust_line.mdx
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..696ddb7b854751b8dee01047066f97f74212933f 100644
--- a/docs-cn/06-insert-data/_rust_line.mdx
+++ b/docs-cn/06-insert-data/_rust_line.mdx
@@ -0,0 +1,3 @@
+```rust
+{{#include docs-examples/rust/schemalessexample/examples/influxdb_line_example.rs}}
+```
diff --git a/docs-cn/06-insert-data/_rust_opts_json.mdx b/docs-cn/06-insert-data/_rust_opts_json.mdx
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..97d9052dacd1894cc7548a59951ecfaad9caee87 100644
--- a/docs-cn/06-insert-data/_rust_opts_json.mdx
+++ b/docs-cn/06-insert-data/_rust_opts_json.mdx
@@ -0,0 +1,3 @@
+```rust
+{{#include docs-examples/rust/schemalessexample/examples/opentsdb_json_example.rs}}
+```
diff --git a/docs-cn/06-insert-data/_rust_opts_telnet.mdx b/docs-cn/06-insert-data/_rust_opts_telnet.mdx
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..14021f43d8aff30c35dc30c5d278d4e51f375024 100644
--- a/docs-cn/06-insert-data/_rust_opts_telnet.mdx
+++ b/docs-cn/06-insert-data/_rust_opts_telnet.mdx
@@ -0,0 +1,3 @@
+```rust
+{{#include docs-examples/rust/schemalessexample/examples/opentsdb_telnet_example.rs}}
+```
diff --git a/docs-cn/06-insert-data/_rust_sql.mdx b/docs-cn/06-insert-data/_rust_sql.mdx
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..8e8013e4ad734efcc262ea2f750b82210a538e49 100644
--- a/docs-cn/06-insert-data/_rust_sql.mdx
+++ b/docs-cn/06-insert-data/_rust_sql.mdx
@@ -0,0 +1,3 @@
+```rust
+{{#include docs-examples/rust/restexample/examples/insert_example.rs}}
+```
diff --git a/docs-cn/06-insert-data/_rust_stmt.mdx b/docs-cn/06-insert-data/_rust_stmt.mdx
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..590a7a0e717426ed0235331c49dfc578bc55b2f7 100644
--- a/docs-cn/06-insert-data/_rust_stmt.mdx
+++ b/docs-cn/06-insert-data/_rust_stmt.mdx
@@ -0,0 +1,3 @@
+```rust
+{{#include docs-examples/rust/nativeexample/examples/stmt_example.rs}}
+```
diff --git a/docs-cn/07-query-data/_rust.mdx b/docs-cn/07-query-data/_rust.mdx
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..742d70fd025ff44b573eedf78441c9d73defad45 100644
--- a/docs-cn/07-query-data/_rust.mdx
+++ b/docs-cn/07-query-data/_rust.mdx
@@ -0,0 +1,3 @@
+```rust
+{{#include docs-examples/rust/restexample/examples/query_example.rs}}
+```
diff --git a/docs-cn/07-query-data/index.mdx b/docs-cn/07-query-data/index.mdx
index cc169159c14310527053ec9a67246fb39734a80c..75367b4929381435486043b4df6e5e8b88da60ad 100644
--- a/docs-cn/07-query-data/index.mdx
+++ b/docs-cn/07-query-data/index.mdx
@@ -14,7 +14,6 @@ import NodeQuery from "./_js.mdx";
import CsQuery from "./_cs.mdx";
import CQuery from "./_c.mdx";
import PyAsync from "./_py_async.mdx";
-import GoAsync from "./_go_async.mdx";
import NodeAsync from "./_js_async.mdx";
import CsAsync from "./_cs_async.mdx";
import CAsync from "./_c_async.mdx";
@@ -160,9 +159,6 @@ Query OK, 5 row(s) in set (0.001521s)
-
-
-
diff --git a/docs-cn/10-cluster/01-deploy.md b/docs-cn/10-cluster/01-deploy.md
index e47b57a3b3a441107d4452775ea1bad16c51e3ed..338d672d50504d3bf36825f9130ed1a7bfcf2041 100644
--- a/docs-cn/10-cluster/01-deploy.md
+++ b/docs-cn/10-cluster/01-deploy.md
@@ -30,7 +30,7 @@
检查所有数据节点,以及应用程序所在物理节点的网络设置:
-每个物理节点上执行命令 hostname -f,查看和确认所有节点的 hostname 是不相同的(应用驱动所在节点无需做此项检查);
+每个物理节点上执行命令 `hostname -f`,查看和确认所有节点的 hostname 是不相同的(应用驱动所在节点无需做此项检查);
每个物理节点上执行 ping host,其中 host 是其他物理节点的 hostname,看能否 ping 通其它物理节点;如果不能 ping 通,需要检查网络设置,或/etc/hosts 文件(Windows 系统默认路径为 C:\Windows\system32\drivers\etc\hosts),或 DNS 的配置。如果无法 ping 通,是无法组成集群的;
@@ -42,7 +42,7 @@
修改 TDengine 的配置文件(所有节点的文件/etc/taos/taos.cfg 都需要修改)。假设准备启动的第一个数据节点 End Point 为 h1.taosdata.com:6030,其与集群配置相关参数如下:
-```
+```c
// firstEp 是每个数据节点首次启动后连接的第一个数据节点
firstEp h1.taosdata.com:6030
@@ -74,16 +74,16 @@ arbitrator ha.taosdata.com:6042
:::note
在 2.0.19.0 及更早的版本中,除以上 9 项参数外,dnode 加入集群时,还会要求 locale 和 charset 参数的取值也一致。
+
:::
## 启动集群
### 启动第一个数据节点
-按照《立即开始》里的指示,启动第一个数据节点,例如 h1.taosdata.com,然后执行 taos, 启动 taos shell,从 shell 里执行命令"show dnodes;",如下所示:
+按照《立即开始》里的步骤,启动第一个数据节点,例如 h1.taosdata.com,然后执行 taos, 启动 taos shell,从 shell 里执行命令"SHOW dnodes;",如下所示:
```
-
Welcome to the TDengine shell from Linux, Client Version:2.0.0.0
diff --git a/docs-cn/11-operation/08-export.md b/docs-cn/11-operation/08-export.md
index 241b567f2378592332b4a993a1b02707579e2ef0..fc5be04d5975bd035eed994a9b3a18dff0eacc50 100644
--- a/docs-cn/11-operation/08-export.md
+++ b/docs-cn/11-operation/08-export.md
@@ -16,4 +16,4 @@ select * from >> data.csv;
利用 taosdump,用户可以根据需要选择导出所有数据库、一个数据库或者数据库中的一张表,所有数据或一时间段的数据,甚至仅仅表的定义。
-具体使用方法,请参见博客:[TDengine DUMP 工具使用指南](https://www.taosdata.com/blog/2020/03/09/1334.html)。
+具体使用方法,请参见博客:[TDengine DUMP 工具使用指南](https://github.com/taosdata/taos-tools/blob/develop/taosdump-user-manual-CN.md)。
diff --git a/docs-cn/14-reference/01-taos-sql/07-function.md b/docs-cn/14-reference/01-taos-sql/07-function.md
index 4d6553ea501039e7f99a5dc075090ccf64acdb7d..5754466c8cfe615dc7656062d220486b40b60e2a 100644
--- a/docs-cn/14-reference/01-taos-sql/07-function.md
+++ b/docs-cn/14-reference/01-taos-sql/07-function.md
@@ -682,7 +682,7 @@ SELECT INTERP(field_name) FROM { tb_name | stb_name } WHERE ts='timestamp' [FILL
SELECT TAIL(field_name, k, offset_val) FROM {tb_name | stb_name} [WHERE clause];
```
-**功能说明**:返回跳过最后 offset_value 个,然后取连续 k 个记录,不忽略 NULL 值。offset_val 可以不输入。此时返回最后的 k 个记录。当有 offset_val 输入的情况下,该函数功能等效于 order by ts desc LIMIT k OFFSET offset_val。
+**功能说明**:返回跳过最后 offset_value 个,然后取连续 k 个记录,不忽略 NULL 值。offset_val 可以不输入。此时返回最后的 k 个记录。当有 offset_val 输入的情况下,该函数功能等效于 `order by ts desc LIMIT k OFFSET offset_val`。
**参数范围**:k: [1,100] offset_val: [0,100]。
diff --git a/docs-cn/14-reference/03-connector/rust.mdx b/docs-cn/14-reference/03-connector/rust.mdx
index 4928e1f0795651bac4fdf96f5f692aa11c82e996..ab09f605e82af55ee893951aefae817cf5c423db 100644
--- a/docs-cn/14-reference/03-connector/rust.mdx
+++ b/docs-cn/14-reference/03-connector/rust.mdx
@@ -104,6 +104,10 @@ async fn main() -> Result<(), Error> {
您可以在 [bailongma-rs] - 一个 Rust 编写的 Prometheus 远程存储 API 适配器 - 看到如何在具体应用中使用 Rust 连接器。
+## API 参考
+
+[API 参考手册](https://docs.rs/libtaos/latest/libtaos/)
+
[libtaos-rs]: https://github.com/taosdata/libtaos-rs
[tdengine]: https://github.com/taosdata/TDengine
[bailongma-rs]: https://github.com/taosdata/bailongma-rs
diff --git a/docs-examples/.gitignore b/docs-examples/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..7ed6d403bf5f64c0cb230265b4dffee609dea93b
--- /dev/null
+++ b/docs-examples/.gitignore
@@ -0,0 +1,3 @@
+.vscode
+*.lock
+.idea
\ No newline at end of file
diff --git a/docs-examples/.gitignre b/docs-examples/.gitignre
new file mode 100644
index 0000000000000000000000000000000000000000..0853156c65c2c6c1b693290e74c3ee630bcaac19
--- /dev/null
+++ b/docs-examples/.gitignre
@@ -0,0 +1,2 @@
+.vscode
+*.lock
\ No newline at end of file
diff --git a/docs-examples/go/insert/json/main.go b/docs-examples/go/insert/json/main.go
index 7b57a0b78f10b9624c49e51735bd7984b4ea62a9..47d9e9984adc05896fb9954ad3deffde3764b836 100644
--- a/docs-examples/go/insert/json/main.go
+++ b/docs-examples/go/insert/json/main.go
@@ -11,7 +11,7 @@ func prepareDatabase(conn *af.Connector) {
if err != nil {
panic(err)
}
- _, err = conn.Exec("use test")
+ _, err = conn.Exec("USE test")
if err != nil {
panic(err)
}
diff --git a/docs-examples/go/insert/line/main.go b/docs-examples/go/insert/line/main.go
index 7471848bcc5f4a1a38b8105196d07566d9f7986f..bbc41468fe5f13d3e6f896445bb88f3eba584d0f 100644
--- a/docs-examples/go/insert/line/main.go
+++ b/docs-examples/go/insert/line/main.go
@@ -11,7 +11,7 @@ func prepareDatabase(conn *af.Connector) {
if err != nil {
panic(err)
}
- _, err = conn.Exec("use test")
+ _, err = conn.Exec("USE test")
if err != nil {
panic(err)
}
diff --git a/docs-examples/go/insert/telnet/main.go b/docs-examples/go/insert/telnet/main.go
index 08aa2f8a01f38093ddaaeef7d6bec4ab09702508..879e6d5cece74fd0b7c815dd34614dca3c9d4544 100644
--- a/docs-examples/go/insert/telnet/main.go
+++ b/docs-examples/go/insert/telnet/main.go
@@ -11,7 +11,7 @@ func prepareDatabase(conn *af.Connector) {
if err != nil {
panic(err)
}
- _, err = conn.Exec("use test")
+ _, err = conn.Exec("USE test")
if err != nil {
panic(err)
}
diff --git a/docs-examples/go/query/sync/main.go b/docs-examples/go/query/sync/main.go
index 544395012d96494adcc252ddb908a8917f8a30e0..0326c7a7da5da212f66b1421bb46e5972bef9609 100644
--- a/docs-examples/go/query/sync/main.go
+++ b/docs-examples/go/query/sync/main.go
@@ -16,7 +16,7 @@ func main() {
return
}
defer taos.Close()
- rows, err := taos.Query("select ts, current from meters limit 2")
+ rows, err := taos.Query("SELECT ts, current FROM meters LIMIT 2")
if err != nil {
fmt.Println("failed to select from table, err:", err)
return
diff --git a/docs-examples/java/src/main/java/com/taos/example/JSONProtocolExample.java b/docs-examples/java/src/main/java/com/taos/example/JSONProtocolExample.java
index de3ff9a78349d506dc054a1b1304c471fef1fd27..9e0f4cc4300931928ee225998a013b92cb7a64d7 100644
--- a/docs-examples/java/src/main/java/com/taos/example/JSONProtocolExample.java
+++ b/docs-examples/java/src/main/java/com/taos/example/JSONProtocolExample.java
@@ -17,8 +17,8 @@ public class JSONProtocolExample {
private static void createDatabase(Connection conn) throws SQLException {
try (Statement stmt = conn.createStatement()) {
- stmt.execute("create database test");
- stmt.execute("use test");
+ stmt.execute("CREATE DATABASE test");
+ stmt.execute("USE test");
}
}
diff --git a/docs-examples/java/src/main/java/com/taos/example/LineProtocolExample.java b/docs-examples/java/src/main/java/com/taos/example/LineProtocolExample.java
index 6ab76a32bc864c52c334882b5a3f8d5ac85fcedd..903dc075d8bb618b40112dbb6bc4d8c15c40aad2 100644
--- a/docs-examples/java/src/main/java/com/taos/example/LineProtocolExample.java
+++ b/docs-examples/java/src/main/java/com/taos/example/LineProtocolExample.java
@@ -12,7 +12,8 @@ import java.sql.Statement;
public class LineProtocolExample {
// format: measurement,tag_set field_set timestamp
private static String[] lines = {
- "meters,location=Beijing.Haidian,groupid=2 current=11.8,voltage=221,phase=0.28 1648432611249000", // micro seconds
+ "meters,location=Beijing.Haidian,groupid=2 current=11.8,voltage=221,phase=0.28 1648432611249000", // micro
+ // seconds
"meters,location=Beijing.Haidian,groupid=2 current=13.4,voltage=223,phase=0.29 1648432611249500",
"meters,location=Beijing.Haidian,groupid=3 current=10.8,voltage=223,phase=0.29 1648432611249300",
"meters,location=Beijing.Haidian,groupid=3 current=11.3,voltage=221,phase=0.35 1648432611249800",
@@ -26,8 +27,8 @@ public class LineProtocolExample {
private static void createDatabase(Connection conn) throws SQLException {
try (Statement stmt = conn.createStatement()) {
// the default precision is ms (microsecond), but we use us(microsecond) here.
- stmt.execute("create database test precision 'us'");
- stmt.execute("use test");
+ stmt.execute("CREATE DATABASE test precision 'us'");
+ stmt.execute("USE test");
}
}
@@ -39,4 +40,3 @@ public class LineProtocolExample {
}
}
}
-
diff --git a/docs-examples/java/src/main/java/com/taos/example/TelnetLineProtocolExample.java b/docs-examples/java/src/main/java/com/taos/example/TelnetLineProtocolExample.java
index b9b049867f65be4d9c750faccc4add78e8ae0521..50ac5294018932026de540ab8f12471ddd39501c 100644
--- a/docs-examples/java/src/main/java/com/taos/example/TelnetLineProtocolExample.java
+++ b/docs-examples/java/src/main/java/com/taos/example/TelnetLineProtocolExample.java
@@ -11,7 +11,7 @@ import java.sql.Statement;
public class TelnetLineProtocolExample {
// format: =[ =]
- private static String[] lines = {"meters.current 1648432611249 10.3 location=Beijing.Chaoyang groupid=2",
+ private static String[] lines = { "meters.current 1648432611249 10.3 location=Beijing.Chaoyang groupid=2",
"meters.current 1648432611250 12.6 location=Beijing.Chaoyang groupid=2",
"meters.current 1648432611249 10.8 location=Beijing.Haidian groupid=3",
"meters.current 1648432611250 11.3 location=Beijing.Haidian groupid=3",
@@ -29,8 +29,8 @@ public class TelnetLineProtocolExample {
private static void createDatabase(Connection conn) throws SQLException {
try (Statement stmt = conn.createStatement()) {
// the default precision is ms (microsecond), but we use us(microsecond) here.
- stmt.execute("create database test precision 'us'");
- stmt.execute("use test");
+ stmt.execute("CREATE DATABASE test precision 'us'");
+ stmt.execute("USE test");
}
}
diff --git a/docs-examples/python/json_protocol_example.py b/docs-examples/python/json_protocol_example.py
index 4a454f74767f1ade22a5916fcfbfacccbccef594..5bb4d629bccf3d79e74b381d6259de86d6522315 100644
--- a/docs-examples/python/json_protocol_example.py
+++ b/docs-examples/python/json_protocol_example.py
@@ -4,8 +4,10 @@ import taos
from taos import SmlProtocol, SmlPrecision
lines = [{"metric": "meters.current", "timestamp": 1648432611249, "value": 10.3, "tags": {"location": "Beijing.Chaoyang", "groupid": 2}},
- {"metric": "meters.voltage", "timestamp": 1648432611249, "value": 219, "tags": {"location": "Beijing.Haidian", "groupid": 1}},
- {"metric": "meters.current", "timestamp": 1648432611250, "value": 12.6, "tags": {"location": "Beijing.Chaoyang", "groupid": 2}},
+ {"metric": "meters.voltage", "timestamp": 1648432611249, "value": 219,
+ "tags": {"location": "Beijing.Haidian", "groupid": 1}},
+ {"metric": "meters.current", "timestamp": 1648432611250, "value": 12.6,
+ "tags": {"location": "Beijing.Chaoyang", "groupid": 2}},
{"metric": "meters.voltage", "timestamp": 1648432611250, "value": 221, "tags": {"location": "Beijing.Haidian", "groupid": 1}}]
@@ -14,15 +16,16 @@ def get_connection():
def create_database(conn):
- conn.execute("create database test")
- conn.execute("use test")
+ conn.execute("CREATE DATABASE test")
+ conn.execute("USE test")
def insert_lines(conn):
global lines
lines = json.dumps(lines)
# note: the first parameter must be a list with only one element.
- affected_rows = conn.schemaless_insert([lines], SmlProtocol.JSON_PROTOCOL, SmlPrecision.NOT_CONFIGURED)
+ affected_rows = conn.schemaless_insert(
+ [lines], SmlProtocol.JSON_PROTOCOL, SmlPrecision.NOT_CONFIGURED)
print(affected_rows) # 4
diff --git a/docs-examples/python/line_protocol_example.py b/docs-examples/python/line_protocol_example.py
index d844007b87b7f3b18ae1ecaea28309122189b70d..02baeb2104f9f48984b4d34afb5e67af641d4e32 100644
--- a/docs-examples/python/line_protocol_example.py
+++ b/docs-examples/python/line_protocol_example.py
@@ -15,12 +15,13 @@ def get_connection():
def create_database(conn):
# the default precision is ms (microsecond), but we use us(microsecond) here.
- conn.execute("create database test precision 'us'")
- conn.execute("use test")
+ conn.execute("CREATE DATABASE test precision 'us'")
+ conn.execute("USE test")
def insert_lines(conn):
- affected_rows = conn.schemaless_insert(lines, SmlProtocol.LINE_PROTOCOL, SmlPrecision.MICRO_SECONDS)
+ affected_rows = conn.schemaless_insert(
+ lines, SmlProtocol.LINE_PROTOCOL, SmlPrecision.MICRO_SECONDS)
print(affected_rows) # 8
diff --git a/docs-examples/python/telnet_line_protocol_example.py b/docs-examples/python/telnet_line_protocol_example.py
index 03c8bb98598163872ca3728f6429fcdc2c8ab77d..072835109ee238940e6fe5880b72b2b04e0157fa 100644
--- a/docs-examples/python/telnet_line_protocol_example.py
+++ b/docs-examples/python/telnet_line_protocol_example.py
@@ -19,12 +19,13 @@ def get_connection():
def create_database(conn):
- conn.execute("create database test")
- conn.execute("use test")
+ conn.execute("CREATE DATABASE test")
+ conn.execute("USE test")
def insert_lines(conn):
- affected_rows = conn.schemaless_insert(lines, SmlProtocol.TELNET_PROTOCOL, SmlPrecision.NOT_CONFIGURED)
+ affected_rows = conn.schemaless_insert(
+ lines, SmlProtocol.TELNET_PROTOCOL, SmlPrecision.NOT_CONFIGURED)
print(affected_rows) # 8
diff --git a/docs-examples/rust/.gitignore b/docs-examples/rust/.gitignore
deleted file mode 100644
index c8e4894416937b2d7c921cf5d1782a67e070fe7e..0000000000000000000000000000000000000000
--- a/docs-examples/rust/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-*.lock
\ No newline at end of file
diff --git a/docs-examples/rust/Cargo.lock b/docs-examples/rust/Cargo.lock
deleted file mode 100644
index d88aa0ab5587ef00f16d73e5772530df5c2d89b2..0000000000000000000000000000000000000000
--- a/docs-examples/rust/Cargo.lock
+++ /dev/null
@@ -1,948 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-version = 3
-
-[[package]]
-name = "autocfg"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
-
-[[package]]
-name = "base64"
-version = "0.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"
-
-[[package]]
-name = "bstr"
-version = "0.2.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223"
-dependencies = [
- "lazy_static",
- "memchr",
- "regex-automata",
-]
-
-[[package]]
-name = "bumpalo"
-version = "3.9.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4a45a46ab1f2412e53d3a0ade76ffad2025804294569aae387231a0cd6e0899"
-
-[[package]]
-name = "bytes"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8"
-
-[[package]]
-name = "cfg-if"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
-[[package]]
-name = "chrono"
-version = "0.4.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73"
-dependencies = [
- "libc",
- "num-integer",
- "num-traits",
- "time",
- "winapi",
-]
-
-[[package]]
-name = "darling"
-version = "0.12.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f2c43f534ea4b0b049015d00269734195e6d3f0f6635cb692251aca6f9f8b3c"
-dependencies = [
- "darling_core",
- "darling_macro",
-]
-
-[[package]]
-name = "darling_core"
-version = "0.12.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e91455b86830a1c21799d94524df0845183fa55bafd9aa137b01c7d1065fa36"
-dependencies = [
- "fnv",
- "ident_case",
- "proc-macro2",
- "quote",
- "strsim",
- "syn",
-]
-
-[[package]]
-name = "darling_macro"
-version = "0.12.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29b5acf0dea37a7f66f7b25d2c5e93fd46f8f6968b1a5d7a3e02e97768afc95a"
-dependencies = [
- "darling_core",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "derive_builder"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d13202debe11181040ae9063d739fa32cfcaaebe2275fe387703460ae2365b30"
-dependencies = [
- "derive_builder_macro",
-]
-
-[[package]]
-name = "derive_builder_core"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "66e616858f6187ed828df7c64a6d71720d83767a7f19740b2d1b6fe6327b36e5"
-dependencies = [
- "darling",
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "derive_builder_macro"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58a94ace95092c5acb1e97a7e846b310cfbd499652f72297da7493f618a98d73"
-dependencies = [
- "derive_builder_core",
- "syn",
-]
-
-[[package]]
-name = "either"
-version = "1.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
-
-[[package]]
-name = "encoding_rs"
-version = "0.8.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7896dc8abb250ffdda33912550faa54c88ec8b998dec0b2c55ab224921ce11df"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
-name = "fnv"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-
-[[package]]
-name = "form_urlencoded"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191"
-dependencies = [
- "matches",
- "percent-encoding",
-]
-
-[[package]]
-name = "futures-channel"
-version = "0.3.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010"
-dependencies = [
- "futures-core",
-]
-
-[[package]]
-name = "futures-core"
-version = "0.3.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3"
-
-[[package]]
-name = "futures-sink"
-version = "0.3.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "21163e139fa306126e6eedaf49ecdb4588f939600f0b1e770f4205ee4b7fa868"
-
-[[package]]
-name = "futures-task"
-version = "0.3.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a"
-
-[[package]]
-name = "futures-util"
-version = "0.3.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a"
-dependencies = [
- "futures-core",
- "futures-task",
- "pin-project-lite",
- "pin-utils",
-]
-
-[[package]]
-name = "h2"
-version = "0.3.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62eeb471aa3e3c9197aa4bfeabfe02982f6dc96f750486c0bb0009ac58b26d2b"
-dependencies = [
- "bytes",
- "fnv",
- "futures-core",
- "futures-sink",
- "futures-util",
- "http",
- "indexmap",
- "slab",
- "tokio",
- "tokio-util",
- "tracing",
-]
-
-[[package]]
-name = "hashbrown"
-version = "0.11.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e"
-
-[[package]]
-name = "http"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31f4c6746584866f0feabcc69893c5b51beef3831656a968ed7ae254cdc4fd03"
-dependencies = [
- "bytes",
- "fnv",
- "itoa",
-]
-
-[[package]]
-name = "http-body"
-version = "0.4.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ff4f84919677303da5f147645dbea6b1881f368d03ac84e1dc09031ebd7b2c6"
-dependencies = [
- "bytes",
- "http",
- "pin-project-lite",
-]
-
-[[package]]
-name = "httparse"
-version = "1.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9100414882e15fb7feccb4897e5f0ff0ff1ca7d1a86a23208ada4d7a18e6c6c4"
-
-[[package]]
-name = "httpdate"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
-
-[[package]]
-name = "hyper"
-version = "0.14.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b26ae0a80afebe130861d90abf98e3814a4f28a4c6ffeb5ab8ebb2be311e0ef2"
-dependencies = [
- "bytes",
- "futures-channel",
- "futures-core",
- "futures-util",
- "h2",
- "http",
- "http-body",
- "httparse",
- "httpdate",
- "itoa",
- "pin-project-lite",
- "socket2",
- "tokio",
- "tower-service",
- "tracing",
- "want",
-]
-
-[[package]]
-name = "ident_case"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
-
-[[package]]
-name = "idna"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8"
-dependencies = [
- "matches",
- "unicode-bidi",
- "unicode-normalization",
-]
-
-[[package]]
-name = "indexmap"
-version = "1.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223"
-dependencies = [
- "autocfg",
- "hashbrown",
-]
-
-[[package]]
-name = "ipnet"
-version = "2.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35e70ee094dc02fd9c13fdad4940090f22dbd6ac7c9e7094a46cf0232a50bc7c"
-
-[[package]]
-name = "itertools"
-version = "0.10.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3"
-dependencies = [
- "either",
-]
-
-[[package]]
-name = "itoa"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35"
-
-[[package]]
-name = "js-sys"
-version = "0.3.56"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a38fc24e30fd564ce974c02bf1d337caddff65be6cc4735a1f7eab22a7440f04"
-dependencies = [
- "wasm-bindgen",
-]
-
-[[package]]
-name = "lazy_static"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-
-[[package]]
-name = "libc"
-version = "0.2.121"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efaa7b300f3b5fe8eb6bf21ce3895e1751d9665086af2d64b42f19701015ff4f"
-
-[[package]]
-name = "libtaos"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d298164350053f81f958b8590a4d9bccc4d7f66a6aad3ffc0e937de9432bf88"
-dependencies = [
- "bstr",
- "chrono",
- "derive_builder",
- "itertools",
- "lazy_static",
- "log",
- "num_enum",
- "paste",
- "reqwest",
- "serde",
- "serde_json",
- "serde_repr",
- "stdext",
- "thiserror",
-]
-
-[[package]]
-name = "log"
-version = "0.4.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6389c490849ff5bc16be905ae24bc913a9c8892e19b2341dbc175e14c341c2b8"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
-name = "matches"
-version = "0.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
-
-[[package]]
-name = "memchr"
-version = "2.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a"
-
-[[package]]
-name = "mime"
-version = "0.3.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
-
-[[package]]
-name = "mio"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52da4364ffb0e4fe33a9841a98a3f3014fb964045ce4f7a45a398243c8d6b0c9"
-dependencies = [
- "libc",
- "log",
- "miow",
- "ntapi",
- "wasi 0.11.0+wasi-snapshot-preview1",
- "winapi",
-]
-
-[[package]]
-name = "miow"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21"
-dependencies = [
- "winapi",
-]
-
-[[package]]
-name = "nativeexample"
-version = "0.1.0"
-dependencies = [
- "libtaos",
-]
-
-[[package]]
-name = "ntapi"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c28774a7fd2fbb4f0babd8237ce554b73af68021b5f695a3cebd6c59bac0980f"
-dependencies = [
- "winapi",
-]
-
-[[package]]
-name = "num-integer"
-version = "0.1.44"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db"
-dependencies = [
- "autocfg",
- "num-traits",
-]
-
-[[package]]
-name = "num-traits"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "num_enum"
-version = "0.5.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf5395665662ef45796a4ff5486c5d41d29e0c09640af4c5f17fd94ee2c119c9"
-dependencies = [
- "num_enum_derive",
-]
-
-[[package]]
-name = "num_enum_derive"
-version = "0.5.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b0498641e53dd6ac1a4f22547548caa6864cc4933784319cd1775271c5a46ce"
-dependencies = [
- "proc-macro-crate",
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "paste"
-version = "1.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0744126afe1a6dd7f394cb50a716dbe086cb06e255e53d8d0185d82828358fb5"
-
-[[package]]
-name = "percent-encoding"
-version = "2.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
-
-[[package]]
-name = "pin-project-lite"
-version = "0.2.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e280fbe77cc62c91527259e9442153f4688736748d24660126286329742b4c6c"
-
-[[package]]
-name = "pin-utils"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
-
-[[package]]
-name = "proc-macro-crate"
-version = "1.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a"
-dependencies = [
- "thiserror",
- "toml",
-]
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.36"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029"
-dependencies = [
- "unicode-xid",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4af2ec4714533fcdf07e886f17025ace8b997b9ce51204ee69b6da831c3da57"
-dependencies = [
- "proc-macro2",
-]
-
-[[package]]
-name = "regex-automata"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
-
-[[package]]
-name = "reqwest"
-version = "0.11.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46a1f7aa4f35e5e8b4160449f51afc758f0ce6454315a9fa7d0d113e958c41eb"
-dependencies = [
- "base64",
- "bytes",
- "encoding_rs",
- "futures-core",
- "futures-util",
- "h2",
- "http",
- "http-body",
- "hyper",
- "ipnet",
- "js-sys",
- "lazy_static",
- "log",
- "mime",
- "percent-encoding",
- "pin-project-lite",
- "serde",
- "serde_json",
- "serde_urlencoded",
- "tokio",
- "url",
- "wasm-bindgen",
- "wasm-bindgen-futures",
- "web-sys",
- "winreg",
-]
-
-[[package]]
-name = "restexample"
-version = "0.1.0"
-dependencies = [
- "libtaos",
-]
-
-[[package]]
-name = "ryu"
-version = "1.0.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f"
-
-[[package]]
-name = "serde"
-version = "1.0.136"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789"
-dependencies = [
- "serde_derive",
-]
-
-[[package]]
-name = "serde_derive"
-version = "1.0.136"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "serde_json"
-version = "1.0.79"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95"
-dependencies = [
- "itoa",
- "ryu",
- "serde",
-]
-
-[[package]]
-name = "serde_repr"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "98d0516900518c29efa217c298fa1f4e6c6ffc85ae29fd7f4ee48f176e1a9ed5"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "serde_urlencoded"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
-dependencies = [
- "form_urlencoded",
- "itoa",
- "ryu",
- "serde",
-]
-
-[[package]]
-name = "slab"
-version = "0.4.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5"
-
-[[package]]
-name = "socket2"
-version = "0.4.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0"
-dependencies = [
- "libc",
- "winapi",
-]
-
-[[package]]
-name = "stdext"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f3b6b32ae82412fb897ef134867d53a294f57ba5b758f06d71e865352c3e207"
-
-[[package]]
-name = "strsim"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
-
-[[package]]
-name = "syn"
-version = "1.0.89"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea297be220d52398dcc07ce15a209fce436d361735ac1db700cab3b6cdfb9f54"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-xid",
-]
-
-[[package]]
-name = "thiserror"
-version = "1.0.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417"
-dependencies = [
- "thiserror-impl",
-]
-
-[[package]]
-name = "thiserror-impl"
-version = "1.0.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "time"
-version = "0.1.44"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
-dependencies = [
- "libc",
- "wasi 0.10.0+wasi-snapshot-preview1",
- "winapi",
-]
-
-[[package]]
-name = "tinyvec"
-version = "1.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2"
-dependencies = [
- "tinyvec_macros",
-]
-
-[[package]]
-name = "tinyvec_macros"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
-
-[[package]]
-name = "tokio"
-version = "1.17.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2af73ac49756f3f7c01172e34a23e5d0216f6c32333757c2c61feb2bbff5a5ee"
-dependencies = [
- "bytes",
- "libc",
- "memchr",
- "mio",
- "pin-project-lite",
- "socket2",
- "winapi",
-]
-
-[[package]]
-name = "tokio-util"
-version = "0.6.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e99e1983e5d376cd8eb4b66604d2e99e79f5bd988c3055891dcd8c9e2604cc0"
-dependencies = [
- "bytes",
- "futures-core",
- "futures-sink",
- "log",
- "pin-project-lite",
- "tokio",
-]
-
-[[package]]
-name = "toml"
-version = "0.5.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "tower-service"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6"
-
-[[package]]
-name = "tracing"
-version = "0.1.32"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4a1bdf54a7c28a2bbf701e1d2233f6c77f473486b94bee4f9678da5a148dca7f"
-dependencies = [
- "cfg-if",
- "pin-project-lite",
- "tracing-core",
-]
-
-[[package]]
-name = "tracing-core"
-version = "0.1.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa31669fa42c09c34d94d8165dd2012e8ff3c66aca50f3bb226b68f216f2706c"
-dependencies = [
- "lazy_static",
-]
-
-[[package]]
-name = "try-lock"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
-
-[[package]]
-name = "unicode-bidi"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f"
-
-[[package]]
-name = "unicode-normalization"
-version = "0.1.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9"
-dependencies = [
- "tinyvec",
-]
-
-[[package]]
-name = "unicode-xid"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
-
-[[package]]
-name = "url"
-version = "2.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c"
-dependencies = [
- "form_urlencoded",
- "idna",
- "matches",
- "percent-encoding",
-]
-
-[[package]]
-name = "want"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0"
-dependencies = [
- "log",
- "try-lock",
-]
-
-[[package]]
-name = "wasi"
-version = "0.10.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
-
-[[package]]
-name = "wasi"
-version = "0.11.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
-
-[[package]]
-name = "wasm-bindgen"
-version = "0.2.79"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25f1af7423d8588a3d840681122e72e6a24ddbcb3f0ec385cac0d12d24256c06"
-dependencies = [
- "cfg-if",
- "wasm-bindgen-macro",
-]
-
-[[package]]
-name = "wasm-bindgen-backend"
-version = "0.2.79"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b21c0df030f5a177f3cba22e9bc4322695ec43e7257d865302900290bcdedca"
-dependencies = [
- "bumpalo",
- "lazy_static",
- "log",
- "proc-macro2",
- "quote",
- "syn",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-futures"
-version = "0.4.29"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2eb6ec270a31b1d3c7e266b999739109abce8b6c87e4b31fcfcd788b65267395"
-dependencies = [
- "cfg-if",
- "js-sys",
- "wasm-bindgen",
- "web-sys",
-]
-
-[[package]]
-name = "wasm-bindgen-macro"
-version = "0.2.79"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f4203d69e40a52ee523b2529a773d5ffc1dc0071801c87b3d270b471b80ed01"
-dependencies = [
- "quote",
- "wasm-bindgen-macro-support",
-]
-
-[[package]]
-name = "wasm-bindgen-macro-support"
-version = "0.2.79"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfa8a30d46208db204854cadbb5d4baf5fcf8071ba5bf48190c3e59937962ebc"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
- "wasm-bindgen-backend",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-shared"
-version = "0.2.79"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d958d035c4438e28c70e4321a2911302f10135ce78a9c7834c0cab4123d06a2"
-
-[[package]]
-name = "web-sys"
-version = "0.3.56"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c060b319f29dd25724f09a2ba1418f142f539b2be99fbf4d2d5a8f7330afb8eb"
-dependencies = [
- "js-sys",
- "wasm-bindgen",
-]
-
-[[package]]
-name = "winapi"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
-dependencies = [
- "winapi-i686-pc-windows-gnu",
- "winapi-x86_64-pc-windows-gnu",
-]
-
-[[package]]
-name = "winapi-i686-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-
-[[package]]
-name = "winapi-x86_64-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-
-[[package]]
-name = "winreg"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d"
-dependencies = [
- "winapi",
-]
diff --git a/docs-examples/rust/Cargo.toml b/docs-examples/rust/Cargo.toml
index 136d09ffbbbd9c7bc1b876e7bfc630dea0560382..114407e69edcb94fdeef77e6ae581569c5451160 100644
--- a/docs-examples/rust/Cargo.toml
+++ b/docs-examples/rust/Cargo.toml
@@ -1,2 +1,2 @@
[workspace]
-members = ["restexample", "nativeexample"]
+members = ["restexample", "nativeexample", "schemalessexample"]
diff --git a/docs-examples/rust/nativeexample/Cargo.toml b/docs-examples/rust/nativeexample/Cargo.toml
index 11e6087ea56cea88ece7ca2199d9ed55128fb711..64fd10a3e915a39c321b56b6f38be51417d8d18e 100644
--- a/docs-examples/rust/nativeexample/Cargo.toml
+++ b/docs-examples/rust/nativeexample/Cargo.toml
@@ -5,4 +5,6 @@ edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
-libtaos = { version = "0.4.2" }
+libtaos = { version = "0.4.3" }
+tokio = { version = "*", features = ["rt", "macros", "rt-multi-thread"] }
+bstr = { version = "*" }
diff --git a/docs-examples/rust/nativeexample/examples/stmt_example.rs b/docs-examples/rust/nativeexample/examples/stmt_example.rs
new file mode 100644
index 0000000000000000000000000000000000000000..3294c0ff4bb4fc629df7703e0308b876b7485521
--- /dev/null
+++ b/docs-examples/rust/nativeexample/examples/stmt_example.rs
@@ -0,0 +1,38 @@
+use bstr::BString;
+use libtaos::*;
+
+#[tokio::main]
+async fn main() -> Result<(), Error> {
+ let taos = TaosCfg::default().connect().expect("fail to connect");
+ taos.create_database("power").await?;
+ taos.use_database("power").await?;
+ taos.exec("CREATE STABLE meters (ts TIMESTAMP, current FLOAT, voltage INT, phase FLOAT) TAGS (location BINARY(64), groupId INT)").await?;
+ let mut stmt = taos.stmt("INSERT INTO ? USING meters TAGS(?, ?) VALUES(?, ?, ?, ?)")?;
+ // bind table name and tags
+ stmt.set_tbname_tags(
+ "tb0",
+ [
+ Field::Binary(BString::from("Beijing.Chaoyang")),
+ Field::Int(2),
+ ],
+ )?;
+ // bind values.
+ let values = vec![
+ Field::Timestamp(Timestamp::new(1648432611249, TimestampPrecision::Milli)),
+ Field::Float(10.3),
+ Field::Int(219),
+ Field::Float(0.31),
+ ];
+ stmt.bind(&values)?;
+ // bind one more row
+ let values2 = vec![
+ Field::Timestamp(Timestamp::new(1648432611749, TimestampPrecision::Milli)),
+ Field::Float(12.6),
+ Field::Int(218),
+ Field::Float(0.33),
+ ];
+ stmt.bind(&values2)?;
+ // execute
+ stmt.execute()?;
+ Ok(())
+}
diff --git a/docs-examples/rust/nativeexample/examples/src/main.rs b/docs-examples/rust/nativeexample/src/main.rs
similarity index 100%
rename from docs-examples/rust/nativeexample/examples/src/main.rs
rename to docs-examples/rust/nativeexample/src/main.rs
diff --git a/docs-examples/rust/restexample/Cargo.toml b/docs-examples/rust/restexample/Cargo.toml
index 0f04e73c94fd2c9a6064e3eb0fbb6fe24cf51d06..a5f89f8a3be3baabd298a70947f6c5d3df088aae 100644
--- a/docs-examples/rust/restexample/Cargo.toml
+++ b/docs-examples/rust/restexample/Cargo.toml
@@ -3,6 +3,6 @@ name = "restexample"
version = "0.1.0"
edition = "2021"
-# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
-libtaos = { version = "*", features = ["rest"] }
+libtaos = { version = "0.4.3", features = ["rest"] }
+tokio = { version = "*", features = ["rt", "macros", "rt-multi-thread"] }
diff --git a/docs-examples/rust/restexample/examples/connect.rs b/docs-examples/rust/restexample/examples/connect.rs
index 8e27458de5d428479668a0e5133ca904cf27c213..546bc1f3f439e0dd691940b472d15c0104f2c8f9 100644
--- a/docs-examples/rust/restexample/examples/connect.rs
+++ b/docs-examples/rust/restexample/examples/connect.rs
@@ -14,6 +14,6 @@ fn taos_connect() -> Result {
fn main() {
#[allow(unused_variables)]
- let taos = taos_connect().unwrap();
+ let taos = taos_connect().expect("connect error");
println!("Connected")
}
diff --git a/docs-examples/rust/restexample/examples/insert_example.rs b/docs-examples/rust/restexample/examples/insert_example.rs
new file mode 100644
index 0000000000000000000000000000000000000000..a0ee1eb3dfb86e9f88aaafeefd2b4b58510a333c
--- /dev/null
+++ b/docs-examples/rust/restexample/examples/insert_example.rs
@@ -0,0 +1,18 @@
+use libtaos::*;
+
+#[tokio::main]
+async fn main() -> Result<(), Error> {
+ let taos = TaosCfg::default().connect().expect("fail to connect");
+ taos.create_database("power").await?;
+ taos.exec("CREATE STABLE power.meters (ts TIMESTAMP, current FLOAT, voltage INT, phase FLOAT) TAGS (location BINARY(64), groupId INT)").await?;
+ let sql = "INSERT INTO power.d1001 USING power.meters TAGS(Beijing.Chaoyang, 2) VALUES ('2018-10-03 14:38:05.000', 10.30000, 219, 0.31000) ('2018-10-03 14:38:15.000', 12.60000, 218, 0.33000) ('2018-10-03 14:38:16.800', 12.30000, 221, 0.31000)
+ power.d1002 USING power.meters TAGS(Beijing.Chaoyang, 3) VALUES ('2018-10-03 14:38:16.650', 10.30000, 218, 0.25000)
+ power.d1003 USING power.meters TAGS(Beijing.Haidian, 2) VALUES ('2018-10-03 14:38:05.500', 11.80000, 221, 0.28000) ('2018-10-03 14:38:16.600', 13.40000, 223, 0.29000)
+ power.d1004 USING power.meters TAGS(Beijing.Haidian, 3) VALUES ('2018-10-03 14:38:05.000', 10.80000, 223, 0.29000) ('2018-10-03 14:38:06.500', 11.50000, 221, 0.35000)";
+ let result = taos.query(sql).await?;
+ println!("{:?}", result);
+ Ok(())
+}
+
+// stdout:
+// TaosQueryData { column_meta: [ColumnMeta { name: "affected_rows", type_: Int, bytes: 4 }], rows: [[Int(8)]] }
diff --git a/docs-examples/rust/restexample/examples/query_example.rs b/docs-examples/rust/restexample/examples/query_example.rs
new file mode 100644
index 0000000000000000000000000000000000000000..8a5c45641d5902e50e2601990a442d60098b7407
--- /dev/null
+++ b/docs-examples/rust/restexample/examples/query_example.rs
@@ -0,0 +1,39 @@
+use libtaos::*;
+
+fn taos_connect() -> Result {
+ TaosCfgBuilder::default()
+ .ip("localhost")
+ .user("root")
+ .pass("taosdata")
+ .db("power")
+ .port(6030u16)
+ .build()
+ .expect("TaosCfg builder error")
+ .connect()
+}
+
+#[tokio::main]
+async fn main() -> Result<(), Error> {
+ let taos = taos_connect().expect("connect error");
+ let result = taos.query("SELECT ts, current FROM meters LIMIT 2").await?;
+ // print column names
+ let meta: Vec = result.column_meta;
+ for column in meta {
+ print!("{}\t", column.name)
+ }
+ println!();
+ // print rows
+ let rows: Vec> = result.rows;
+ for row in rows {
+ for field in row {
+ print!("{}\t", field);
+ }
+ println!();
+ }
+ Ok(())
+}
+
+// stdout:
+// ts current
+// 2022-03-28 09:56:51.249 10.3
+// 2022-03-28 09:56:51.749 12.6
diff --git a/docs-examples/rust/schemalessexample/Cargo.toml b/docs-examples/rust/schemalessexample/Cargo.toml
new file mode 100644
index 0000000000000000000000000000000000000000..32c6a122318d16f488210da54f1600ba8f6a8b7c
--- /dev/null
+++ b/docs-examples/rust/schemalessexample/Cargo.toml
@@ -0,0 +1,7 @@
+[package]
+name = "schemalessexample"
+version = "0.1.0"
+edition = "2021"
+
+[dependencies]
+libtaos = { version = "0.4.3" }
diff --git a/docs-examples/rust/schemalessexample/examples/influxdb_line_example.rs b/docs-examples/rust/schemalessexample/examples/influxdb_line_example.rs
new file mode 100644
index 0000000000000000000000000000000000000000..e93888cc83d12f3bec7370a66e8a85d38cec42ad
--- /dev/null
+++ b/docs-examples/rust/schemalessexample/examples/influxdb_line_example.rs
@@ -0,0 +1,22 @@
+use libtaos::schemaless::*;
+use libtaos::*;
+
+fn main() {
+ let taos = TaosCfg::default().connect().expect("fail to connect");
+ taos.raw_query("CREATE DATABASE test").unwrap();
+ taos.raw_query("USE test").unwrap();
+ let lines = ["meters,location=Beijing.Haidian,groupid=2 current=11.8,voltage=221,phase=0.28 1648432611249",
+ "meters,location=Beijing.Haidian,groupid=2 current=13.4,voltage=223,phase=0.29 1648432611250",
+ "meters,location=Beijing.Haidian,groupid=3 current=10.8,voltage=223,phase=0.29 1648432611249",
+ "meters,location=Beijing.Haidian,groupid=3 current=11.3,voltage=221,phase=0.35 1648432611250"];
+ let affected_rows = taos
+ .schemaless_insert(
+ &lines,
+ TSDB_SML_LINE_PROTOCOL,
+ TSDB_SML_TIMESTAMP_MILLISECONDS,
+ )
+ .unwrap();
+ println!("affected_rows={}", affected_rows);
+}
+
+// run with: cargo run --example influxdb_line_example
diff --git a/docs-examples/rust/schemalessexample/examples/opentsdb_json_example.rs b/docs-examples/rust/schemalessexample/examples/opentsdb_json_example.rs
new file mode 100644
index 0000000000000000000000000000000000000000..1d66bd1f2b1bcbe82dc3ee3e8e25ea4c521c81f0
--- /dev/null
+++ b/docs-examples/rust/schemalessexample/examples/opentsdb_json_example.rs
@@ -0,0 +1,25 @@
+use libtaos::schemaless::*;
+use libtaos::*;
+
+fn main() {
+ let taos = TaosCfg::default().connect().expect("fail to connect");
+ taos.raw_query("CREATE DATABASE test").unwrap();
+ taos.raw_query("USE test").unwrap();
+ let lines = [
+ r#"[{"metric": "meters.current", "timestamp": 1648432611249, "value": 10.3, "tags": {"location": "Beijing.Chaoyang", "groupid": 2}},
+ {"metric": "meters.voltage", "timestamp": 1648432611249, "value": 219, "tags": {"location": "Beijing.Haidian", "groupid": 1}},
+ {"metric": "meters.current", "timestamp": 1648432611250, "value": 12.6, "tags": {"location": "Beijing.Chaoyang", "groupid": 2}},
+ {"metric": "meters.voltage", "timestamp": 1648432611250, "value": 221, "tags": {"location": "Beijing.Haidian", "groupid": 1}}]"#,
+ ];
+
+ let affected_rows = taos
+ .schemaless_insert(
+ &lines,
+ TSDB_SML_JSON_PROTOCOL,
+ TSDB_SML_TIMESTAMP_NOT_CONFIGURED,
+ )
+ .unwrap();
+ println!("affected_rows={}", affected_rows); // affected_rows=4
+}
+
+// run with: cargo run --example opentsdb_json_example
diff --git a/docs-examples/rust/schemalessexample/examples/opentsdb_telnet_example.rs b/docs-examples/rust/schemalessexample/examples/opentsdb_telnet_example.rs
new file mode 100644
index 0000000000000000000000000000000000000000..18d7500714d9e41b1bebd490199d296ead3dc7c4
--- /dev/null
+++ b/docs-examples/rust/schemalessexample/examples/opentsdb_telnet_example.rs
@@ -0,0 +1,28 @@
+use libtaos::schemaless::*;
+use libtaos::*;
+
+fn main() {
+ let taos = TaosCfg::default().connect().expect("fail to connect");
+ taos.raw_query("CREATE DATABASE test").unwrap();
+ taos.raw_query("USE test").unwrap();
+ let lines = [
+ "meters.current 1648432611249 10.3 location=Beijing.Chaoyang groupid=2",
+ "meters.current 1648432611250 12.6 location=Beijing.Chaoyang groupid=2",
+ "meters.current 1648432611249 10.8 location=Beijing.Haidian groupid=3",
+ "meters.current 1648432611250 11.3 location=Beijing.Haidian groupid=3",
+ "meters.voltage 1648432611249 219 location=Beijing.Chaoyang groupid=2",
+ "meters.voltage 1648432611250 218 location=Beijing.Chaoyang groupid=2",
+ "meters.voltage 1648432611249 221 location=Beijing.Haidian groupid=3",
+ "meters.voltage 1648432611250 217 location=Beijing.Haidian groupid=3",
+ ];
+ let affected_rows = taos
+ .schemaless_insert(
+ &lines,
+ TSDB_SML_TELNET_PROTOCOL,
+ TSDB_SML_TIMESTAMP_NOT_CONFIGURED,
+ )
+ .unwrap();
+ println!("affected_rows={}", affected_rows); // affected_rows=8
+}
+
+// run with: cargo run --example opentsdb_telnet_example
diff --git a/docs-examples/rust/schemalessexample/src/main.rs b/docs-examples/rust/schemalessexample/src/main.rs
new file mode 100644
index 0000000000000000000000000000000000000000..e7a11a969c037e00a796aafeff6258501ec15e9a
--- /dev/null
+++ b/docs-examples/rust/schemalessexample/src/main.rs
@@ -0,0 +1,3 @@
+fn main() {
+ println!("Hello, world!");
+}