From d72eacc7216614fdc09b130945b15586799246f4 Mon Sep 17 00:00:00 2001
From: sheyanjie-qq <249478495@qq.com>
Date: Fri, 6 Dec 2024 18:11:54 +0800
Subject: [PATCH 1/7] update version history of connector doc
---
docs/zh/14-reference/05-connector/14-java.mdx | 56 +++++++++----------
docs/zh/14-reference/05-connector/26-rust.mdx | 26 ++++-----
docs/zh/14-reference/05-connector/50-odbc.mdx | 6 +-
3 files changed, 44 insertions(+), 44 deletions(-)
diff --git a/docs/zh/14-reference/05-connector/14-java.mdx b/docs/zh/14-reference/05-connector/14-java.mdx
index e8554ae668..a90d66235e 100644
--- a/docs/zh/14-reference/05-connector/14-java.mdx
+++ b/docs/zh/14-reference/05-connector/14-java.mdx
@@ -21,43 +21,43 @@ TDengine 的 JDBC 驱动实现尽可能与关系型数据库驱动保持一致
## JDBC 和 JRE 兼容性
-- JDBC: 支持 JDBC 4.2 版本,部分功能如无模式写入和数据订阅单独提供
-- JRE: 支持 JRE 8 及以上版本
+- JDBC: 支持 JDBC 4.2 及以上版本。
+- JRE: 支持 JRE 8 及以上版本。
## 支持的平台
-原生连接支持的平台和 TDengine 客户端驱动支持的平台一致。
-REST 连接支持所有能运行 Java 的平台。
+- 原生连接支持的平台和 TDengine 客户端驱动支持的平台一致。
+- WebSocket/REST 连接支持所有能运行 Java 的平台。
## 版本历史
| taos-jdbcdriver 版本 | 主要变化 | TDengine 版本 |
-| :------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------: |
-| 3.4.0 | 1. 使用 jackson 库替换 fastjson 库;2. WebSocket 采用独立协议标识;3. 优化后台拉取线程使用,避免用户误用导致超时。 | - |
-| 3.3.4 | 1. 解决了 getInt 在数据类型为 float 报错 | - |
-| 3.3.3 | 1. 解决了 WebSocket statement 关闭导致的内存泄漏 | - |
-| 3.3.2 | 1. 优化 WebSocket 连接下的参数绑定性能;2. 优化了对 mybatis 的支持 | - |
-| 3.3.0 | 1. 优化 WebSocket 连接下的数据传输性能;2. 支持跳过 SSL 验证,默认关闭 | 3.3.2.0 及更高版本 |
+| :------------------| :---------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------- |
+| 3.4.0 | 1. 使用 jackson 库替换 fastjson 库
2. WebSocket 采用独立协议标识
3. 优化后台拉取线程使用,避免用户误用导致超时 | - |
+| 3.3.4 | 解决了 getInt 在数据类型为 float 报错 | - |
+| 3.3.3 | 解决了 WebSocket statement 关闭导致的内存泄漏 | - |
+| 3.3.2 | 1. 优化 WebSocket 连接下的参数绑定性能
2. 优化了对 mybatis 的支持 | - |
+| 3.3.0 | 1. 优化 WebSocket 连接下的数据传输性能
2. 支持跳过 SSL 验证,默认关闭 | 3.3.2.0 及更高版本 |
| 3.2.11 | 解决了 Native 连接关闭结果集 bug | - |
-| 3.2.10 | 1. REST/WebSocket 连接支持传输中的数据压缩;2. WebSocket 自动重连机制,默认关闭;3. Connection 类提供无模式写入的方法;4. 优化了原生连接的数据拉取性能;5. 修复了一些已知问题;6.元数据获取函数可以返回支持的函数列表。 | - |
+| 3.2.10 | 1. REST/WebSocket 连接支持传输中的数据压缩
2. WebSocket 自动重连机制,默认关闭
3. Connection 类提供无模式写入的方法
4. 优化了原生连接的数据拉取性能
5. 修复了一些已知问题
6.元数据获取函数可以返回支持的函数列表 | - |
| 3.2.9 | 解决了 WebSocket prepareStatement 关闭 bug | - |
-| 3.2.8 | 优化了自动提交, 解决了 WebSocket 手动提交 bug, 优化 WebSocket prepareStatement 使用一个连接, 元数据支持视图 | - |
-| 3.2.7 | 支持 VARBINARY 和 GEOMETRY 类型,增加 native 连接的时区设置支持。增加 WebSocket 自动重连功能。 | 3.2.0.0 及更高版本 |
-| 3.2.5 | 数据订阅增加 committed()、assignment() 方法 | 3.1.0.3 及更高版本 |
-| 3.2.4 | 数据订阅在 WebSocket 连接下增加 enable.auto.commit 参数,以及 unsubscribe() 方法。 | - |
-| 3.2.3 | 修复 ResultSet 在一些情况数据解析失败 | - |
-| 3.2.2 | 新增功能:数据订阅支持 seek 功能。 | 3.0.5.0 及更高版本 |
-| 3.2.1 | 新增功能:WebSocket 连接支持 schemaless 与 prepareStatement 写入。变更:consumer poll 返回结果集为 ConsumerRecord,可通过 value() 获取指定结果集数据。 | 3.0.3.0 及更高版本 |
-| 3.2.0 | 存在连接问题,不推荐使用 | - |
-| 3.1.0 | WebSocket 连接支持订阅功能 | - |
-| 3.0.1 - 3.0.4 | 修复一些情况下结果集数据解析错误的问题。3.0.1 在 JDK 11 环境编译,JDK 8 环境下建议使用其他版本 | - |
-| 3.0.0 | 支持 TDengine 3.0 | 3.0.0.0 及更高版本 |
-| 2.0.42 | 修复 WebSocket 连接中 wasNull 接口返回值 | - |
-| 2.0.41 | 修复 REST 连接中用户名和密码转码方式 | - |
-| 2.0.39 - 2.0.40 | 增加 REST 连接/请求 超时设置 | - |
-| 2.0.38 | JDBC REST 连接增加批量拉取功能 | - |
-| 2.0.37 | 增加对 json tag 支持 | - |
-| 2.0.36 | 增加对 schemaless 写入支持 | - |
+| 3.2.8 | 1. 优化了自动提交
2. 解决了 WebSocket 手动提交 bug
3.优化 WebSocket prepareStatement 使用一个连接
4.元数据支持视图 | - |
+| 3.2.7 | 1. 支持 VARBINARY 和 GEOMETRY 类型
2. 增加 native 连接的时区设置支持
3. 增加 WebSocket 自动重连功能 | 3.2.0.0 及更高版本 |
+| 3.2.5 | 数据订阅增加 committed()、assignment() 方法 | 3.1.0.3 及更高版本 |
+| 3.2.4 | 数据订阅在 WebSocket 连接下增加 enable.auto.commit 参数,以及 unsubscribe 方法 | - |
+| 3.2.3 | 修复 ResultSet 在一些情况数据解析失败 | - |
+| 3.2.2 | 数据订阅支持 seek 功能 | 3.0.5.0 及更高版本 |
+| 3.2.1 | 1. WebSocket 连接支持 schemaless 与 prepareStatement 写入
2. consumer poll 返回结果集为 ConsumerRecord,可通过 value() 获取指定结果集数据 | 3.0.3.0 及更高版本 |
+| 3.2.0 | 存在连接问题,不推荐使用 | - |
+| 3.1.0 | WebSocket 连接支持订阅功能 | - |
+| 3.0.1 - 3.0.4 | 修复一些情况下结果集数据解析错误的问题。3.0.1 在 JDK 11 环境编译,JDK 8 环境下建议使用其他版本 | - |
+| 3.0.0 | 支持 TDengine 3.0 | 3.0.0.0 及更高版本 |
+| 2.0.42 | 修复 WebSocket 连接中 wasNull 接口返回值 | - |
+| 2.0.41 | 修复 REST 连接中用户名和密码转码方式 | - |
+| 2.0.39 - 2.0.40 | 增加 REST 连接/请求 超时设置 | - |
+| 2.0.38 | JDBC REST 连接增加批量拉取功能 | - |
+| 2.0.37 | 增加对 json tag 支持 | - |
+| 2.0.36 | 增加对 schemaless 写入支持 | - |
## 异常和错误码
diff --git a/docs/zh/14-reference/05-connector/26-rust.mdx b/docs/zh/14-reference/05-connector/26-rust.mdx
index cfabed4c61..863da4cb47 100644
--- a/docs/zh/14-reference/05-connector/26-rust.mdx
+++ b/docs/zh/14-reference/05-connector/26-rust.mdx
@@ -28,22 +28,22 @@ import RequestId from "./_request_id.mdx";
## 支持的平台
-原生连接支持的平台和 TDengine 客户端驱动支持的平台一致。
-WebSocket 连接支持所有能运行 Rust 的平台。
+- 原生连接支持的平台和 TDengine 客户端驱动支持的平台一致。
+- WebSocket 连接支持所有能运行 Rust 的平台。
## 版本历史
-| Rust 连接器版本 | TDengine 版本 | 主要功能 |
-| :----------------: | :--------------: | :--------------------------------------------------: |
-| v0.12.3 | 3.3.0.0 or later | 优化了 WebSocket 查询和插入性能,支持了 VARBINARY 和 GEOMETRY 类型 |
-| v0.12.0 | 3.2.3.0 or later | WS 支持压缩。 |
-| v0.11.0 | 3.2.0.0 | TMQ 功能优化。 |
-| v0.10.0 | 3.1.0.0 | WS endpoint 变更。 |
-| v0.9.2 | 3.0.7.0 | STMT:ws 下获取 tag_fields、col_fields。 |
-| v0.8.12 | 3.0.5.0 | 消息订阅:获取消费进度及按照指定进度开始消费。 |
-| v0.8.0 | 3.0.4.0 | 支持无模式写入。 |
-| v0.7.6 | 3.0.3.0 | 支持在请求中使用 req_id。 |
-| v0.6.0 | 3.0.0.0 | 基础功能。 |
+| Rust 连接器版本 | 主要变化 | TDengine 版本 |
+| :---------------- | :-------------------------------------------------- | :-------------- |
+| v0.12.3 | 1. 优化了 WebSocket 查询和插入性能
2. 支持了 VARBINARY 和 GEOMETRY 类型 | 3.3.0.0 及更高版本 |
+| v0.12.0 | WS 支持压缩。 | 3.2.3.0 及更高版本 |
+| v0.11.0 | TMQ 功能优化。 | 3.2.0.0 |
+| v0.10.0 | WS endpoint 变更。 | 3.1.0.0 |
+| v0.9.2 | STMT:ws 下获取 tag_fields、col_fields。 | 3.0.7.0 |
+| v0.8.12 | 消息订阅:获取消费进度及按照指定进度开始消费。 | 3.0.5.0 |
+| v0.8.0 | 支持无模式写入。 | 3.0.4.0 |
+| v0.7.6 | 支持在请求中使用 req_id。 | 3.0.3.0 |
+| v0.6.0 | 基础功能。 | 3.0.0.0 |
## 处理错误
diff --git a/docs/zh/14-reference/05-connector/50-odbc.mdx b/docs/zh/14-reference/05-connector/50-odbc.mdx
index 63837fd282..027099cc54 100644
--- a/docs/zh/14-reference/05-connector/50-odbc.mdx
+++ b/docs/zh/14-reference/05-connector/50-odbc.mdx
@@ -15,7 +15,7 @@ TDengine ODBC 提供 64 位 和 32 位 两种驱动程序。但 32 位仅企业
想更多了解 TDengine 时序时序数据库的使用,可访问 [TDengine官方文档](https://docs.taosdata.com/intro/)。
## ODBC 版本兼容性
-- 支持 ODBC 3.8 及以前所有版本。
+- 支持 ODBC 所有版本
## 安装
@@ -106,8 +106,8 @@ TDengine ODBC 支持两种连接 TDengine 数据库方式:WebSocket 连接与
## 支持的平台
-原生连接方式支持的平台和 TDengine Windows X64版 客户端驱动支持的平台一致。
-WebSocket 连接方式除此之外还支持 Windows X64系统上运行的 32 位应用程序上使用。
+- 原生连接方式支持的平台和 TDengine Windows X64版 客户端驱动支持的平台一致。
+- WebSocket 连接方式除此之外还支持 Windows X64系统上运行的 32 位应用程序上使用。
## 版本历史
From 5675f29f9116d8958d7b0acf28f06bb4a5c7751e Mon Sep 17 00:00:00 2001
From: t_max <1172915550@qq.com>
Date: Mon, 9 Dec 2024 11:43:25 +0800
Subject: [PATCH 2/7] docs: modify connector compatibility description
---
docs/zh/08-operation/12-multi.md | 4 +--
docs/zh/14-reference/05-connector/20-go.mdx | 29 +++++++++++----
docs/zh/14-reference/05-connector/26-rust.mdx | 2 +-
.../14-reference/05-connector/40-csharp.mdx | 36 ++++++++-----------
4 files changed, 40 insertions(+), 31 deletions(-)
diff --git a/docs/zh/08-operation/12-multi.md b/docs/zh/08-operation/12-multi.md
index 1e81a7ff1e..14db264522 100644
--- a/docs/zh/08-operation/12-multi.md
+++ b/docs/zh/08-operation/12-multi.md
@@ -121,7 +121,7 @@ s3migrate database ;
当 TSDB 时序数据超过 `s3_keeplocal` 参数指定的时间,相关的数据文件会被切分成多个文件块,每个文件块的默认大小是 512M 字节 (`s3_chunkpages * tsdb_pagesize`)。除了最后一个文件块保留在本地文件系统外,其余的文件块会被上传到对象存储服务。
```math
-上传次数 = 数据文件大小 / (s3_chunkpages * tsdb_pagesize) - 1
+\text{上传次数} = \text{数据文件大小} / (s3_chunkpages * tsdb_pagesize) - 1
```
在创建数据库时,可以通过 `s3_chunkpages` 参数调整每个文件块的大小,从而控制每个数据文件的上传次数。
@@ -135,7 +135,7 @@ s3migrate database ;
相邻的多个数据页会作为一个数据块从对象存储下载一次,以减少从对象存储下载的次数。每个数据页的大小,在创建数据库时,通过 `tsdb_pagesize` 参数指定,默认 4K 字节。
```math
-下载次数 = 查询需要的数据块数量 - 已缓存的数据块数量
+\text{下载次数} = \text{查询需要的数据块数量} - \text{已缓存的数据块数量}
```
页缓存是内存缓存,节点重启后,再次查询需要重新下载数据。缓存采用 LRU (Least Recently Used) 策略,当缓存空间不足时,最近最少使用的数据将被淘汰。缓存的大小可以通过 `s3PageCacheSize` 参数进行调整,通常来说,缓存越大,下载次数越少。
diff --git a/docs/zh/14-reference/05-connector/20-go.mdx b/docs/zh/14-reference/05-connector/20-go.mdx
index 61048f7b85..03ddcf51cf 100644
--- a/docs/zh/14-reference/05-connector/20-go.mdx
+++ b/docs/zh/14-reference/05-connector/20-go.mdx
@@ -14,18 +14,35 @@ import RequestId from "./_request_id.mdx";
## 兼容性
-支持最低 Go 版本 1.14,建议使用最新 Go 版本
+支持 Go 版本 1.14及以上版本。
## 支持的平台
-原生连接支持的平台和 TDengine 客户端驱动支持的平台一致。
-REST 连接支持所有能运行 Go 的平台。
+- 原生连接支持的平台和 TDengine 客户端驱动支持的平台一致。
+- WebSocket/REST 连接支持所有能运行 Go 的平台。
-## 版本支持
+## 版本历史
-请参考[版本支持列表](https://github.com/taosdata/driver-go#remind)
+| driver-go 版本 | 主要变化 | TDengine 版本 |
+|:-------------|:-------------------------------------|:------------|
+| v3.5.8 | 修复空指针异常 | 3.3.2.0 |
+| v3.5.7 | taosWS 和 taosRestful 支持传入 request id | 3.3.2.0 |
+| v3.5.6 | 提升 websocket 查询和写入性能 | 3.3.2.0 |
+| v3.5.5 | restful 支持跳过 ssl 证书检查 | 3.2.3.0 |
+| v3.5.4 | 兼容 TDengine 3.3.0.0 tmq raw data | 3.2.3.0 |
+| v3.5.3 | 重构 taosWS | 3.2.3.0 |
+| v3.5.2 | websocket 压缩和优化消息订阅性能 | 3.2.3.0 |
+| v3.5.1 | 原生 stmt 查询和 geometry 类型支持 | 3.2.1.0 |
+| v3.5.0 | 获取消费进度及按照指定进度开始消费 | 3.0.5.0 |
+| v3.3.1 | 基于 websocket 的 schemaless 协议写入 | 3.0.4.1 |
+| v3.1.0 | 提供贴近 kafka 的订阅 api | 3.0.2.2 |
+| v3.0.4 | 新增 request id 相关接口 | 3.0.2.2 |
+| v3.0.3 | 基于 websocket 的 statement 写入 | 3.0.1.5 |
+| v3.0.2 | 基于 websocket 的数据查询和写入 | 3.0.1.5 |
+| v3.0.1 | 基于 websocket 的消息订阅 | 3.0.0.0 |
+| v3.0.0 | 适配 TDengine 3.0 查询和写入 | 3.0.0.0 |
-## 处理异常
+## 异常和错误码
如果是 TDengine 错误可以通过以下方式获取错误码和错误信息。
diff --git a/docs/zh/14-reference/05-connector/26-rust.mdx b/docs/zh/14-reference/05-connector/26-rust.mdx
index 863da4cb47..06d59d6343 100644
--- a/docs/zh/14-reference/05-connector/26-rust.mdx
+++ b/docs/zh/14-reference/05-connector/26-rust.mdx
@@ -35,7 +35,7 @@ import RequestId from "./_request_id.mdx";
| Rust 连接器版本 | 主要变化 | TDengine 版本 |
| :---------------- | :-------------------------------------------------- | :-------------- |
-| v0.12.3 | 1. 优化了 WebSocket 查询和插入性能
2. 支持了 VARBINARY 和 GEOMETRY 类型 | 3.3.0.0 及更高版本 |
+| v0.12.3 | 1. 优化了 WebSocket 查询和插入性能
2. 支持了 VARBINARY 和 GEOMETRY 类型 | 3.3.0.0 及更高版本 |
| v0.12.0 | WS 支持压缩。 | 3.2.3.0 及更高版本 |
| v0.11.0 | TMQ 功能优化。 | 3.2.0.0 |
| v0.10.0 | WS endpoint 变更。 | 3.1.0.0 |
diff --git a/docs/zh/14-reference/05-connector/40-csharp.mdx b/docs/zh/14-reference/05-connector/40-csharp.mdx
index e4e778eeff..488a50e812 100644
--- a/docs/zh/14-reference/05-connector/40-csharp.mdx
+++ b/docs/zh/14-reference/05-connector/40-csharp.mdx
@@ -10,35 +10,27 @@ import RequestId from "./_request_id.mdx";
`TDengine.Connector` 是 TDengine 提供的 C# 语言连接器。C# 开发人员可以通过它开发存取 TDengine 集群数据的 C# 应用软件。
-## 连接方式
-
-`TDengine.Connector` 提供两种形式的连接器
-* **原生连接**,通过 TDengine 客户端驱动程序(taosc)原生连接 TDengine 实例,支持数据写入、查询、数据订阅、schemaless 接口和参数绑定接口等功能。
-* **WebSocket 连接**,通过 taosAdapter 提供的 WebSocket 接口连接 TDengine 实例,WebSocket 连接实现的功能集合和原生连接有少量不同。(自 v3.0.1 起)
-
-连接方式的详细介绍请参考:[连接方式](../../../develop/connect/#连接方式)
-
## 兼容性
-* `TDengine.Connector` 3.1.0 版本进行了完整的重构,不再兼容 3.0.2 及以前版本。3.0.2 文档请参考 [nuget](https://www.nuget.org/packages/TDengine.Connector/3.0.2)
-* `TDengine.Connector` 3.x 不兼容 TDengine 2.x,如果在运行 TDengine 2.x 版本的环境下需要使用 C# 连接器请使用 TDengine.Connector 的 1.x 版本。
+- .NET Framework 4.6 及以上版本。
+- .NET 5.0 及以上版本。
+- `TDengine.Connector` 3.1.0 版本进行了完整的重构,不再兼容 3.0.2 及以前版本。3.0.2 文档请参考 [nuget](https://www.nuget.org/packages/TDengine.Connector/3.0.2)
+- `TDengine.Connector` 3.x 不兼容 TDengine 2.x,如果在运行 TDengine 2.x 版本的环境下需要使用 C# 连接器请使用 TDengine.Connector 的 1.x 版本。
## 支持的平台
-支持的平台和 TDengine 客户端驱动支持的平台一致。
+- 原生连接支持的平台和 TDengine 客户端驱动支持的平台一致。
+- WebSocket 连接支持所有能运行 .NET 运行时的平台。
-:::warning
-TDengine 不再支持 32 位 Windows 平台。
-:::
+## 版本历史
-## 版本支持
-
-| **Connector 版本** | **TDengine 版本** | **主要功能** |
-|------------------|------------------|----------------------------|
-| 3.1.3 | 3.2.1.0/3.1.1.18 | 支持 WebSocket 自动重连 |
-| 3.1.2 | 3.2.1.0/3.1.1.18 | 修复 schemaless 资源释放 |
-| 3.1.1 | 3.2.1.0/3.1.1.18 | 支持 varbinary 和 geometry 类型 |
-| 3.1.0 | 3.2.1.0/3.1.1.18 | WebSocket 使用原生实现 |
+| Connector 版本 | 主要变化 | TDengine 版本 |
+|:-------------|:---------------------------|:------------|
+| 3.1.4 | 提升 websocket 查询和写入性能 | 3.3.2.0 |
+| 3.1.3 | 支持 WebSocket 自动重连 | 3.2.1.0 |
+| 3.1.2 | 修复 schemaless 资源释放 | 3.2.1.0 |
+| 3.1.1 | 支持 varbinary 和 geometry 类型 | 3.2.1.0 |
+| 3.1.0 | WebSocket 使用原生实现 | 3.2.1.0 |
## 处理异常
From d21ea47966b85fd721b10feb8b8b25bf018542e3 Mon Sep 17 00:00:00 2001
From: qevolg <2227465945@qq.com>
Date: Mon, 9 Dec 2024 13:33:36 +0800
Subject: [PATCH 3/7] docs(rust): update rust connector doc
---
docs/zh/14-reference/05-connector/26-rust.mdx | 158 +++++++++++++-----
1 file changed, 115 insertions(+), 43 deletions(-)
diff --git a/docs/zh/14-reference/05-connector/26-rust.mdx b/docs/zh/14-reference/05-connector/26-rust.mdx
index 863da4cb47..fbeb2f250e 100644
--- a/docs/zh/14-reference/05-connector/26-rust.mdx
+++ b/docs/zh/14-reference/05-connector/26-rust.mdx
@@ -4,27 +4,21 @@ sidebar_label: Rust
title: TDengine Rust Connector
---
-import Tabs from '@theme/Tabs';
-import TabItem from '@theme/TabItem';
+import Tabs from "@theme/Tabs";
+import TabItem from "@theme/TabItem";
-import Preparation from "./_preparation.mdx"
+import Preparation from "./_preparation.mdx";
import RequestId from "./_request_id.mdx";
[](https://crates.io/crates/taos)  [](https://docs.rs/taos)
-`taos` 是 TDengine 的官方 Rust 语言连接器。Rust 开发人员可以通过它开发存取 TDengine 数据库的应用软件。
+`taos` 是 TDengine 的官方 Rust 语言连接器,Rust 开发人员可以通过它开发存取 TDengine 数据库的应用软件。
该 Rust 连接器的源码托管在 [GitHub](https://github.com/taosdata/taos-connector-rust)。
-## 连接方式
+## Rust 兼容性
-`taos` 提供两种建立连接的方式。一般我们推荐使用 **WebSocket 连接**。
-- **原生连接**,它通过 TDengine 客户端驱动程序(taosc)连接 TDengine 运行实例。
-- **WebSocket 连接**,它通过 taosAdapter 的 WebSocket 接口连接 TDengine 运行实例。
-
-你可以通过不同的 “特性(即 Cargo 关键字 `features`)” 来指定使用哪种连接器(默认同时支持)。
-
-连接方式的详细介绍请参考:[连接方式](../../../develop/connect/#连接方式)
+支持 1.70 及以上版本。
## 支持的平台
@@ -33,20 +27,19 @@ import RequestId from "./_request_id.mdx";
## 版本历史
-| Rust 连接器版本 | 主要变化 | TDengine 版本 |
-| :---------------- | :-------------------------------------------------- | :-------------- |
-| v0.12.3 | 1. 优化了 WebSocket 查询和插入性能
2. 支持了 VARBINARY 和 GEOMETRY 类型 | 3.3.0.0 及更高版本 |
-| v0.12.0 | WS 支持压缩。 | 3.2.3.0 及更高版本 |
-| v0.11.0 | TMQ 功能优化。 | 3.2.0.0 |
-| v0.10.0 | WS endpoint 变更。 | 3.1.0.0 |
-| v0.9.2 | STMT:ws 下获取 tag_fields、col_fields。 | 3.0.7.0 |
-| v0.8.12 | 消息订阅:获取消费进度及按照指定进度开始消费。 | 3.0.5.0 |
-| v0.8.0 | 支持无模式写入。 | 3.0.4.0 |
-| v0.7.6 | 支持在请求中使用 req_id。 | 3.0.3.0 |
-| v0.6.0 | 基础功能。 | 3.0.0.0 |
+| Rust 连接器版本 | 主要变化 | TDengine 版本 |
+| :-------------- | :------------------------------------------------------------------------ | :----------------- |
+| v0.12.3 | 1. 优化 WebSocket 查询和插入性能
2. 支持 VARBINARY 和 GEOMETRY 类型 | 3.3.0.0 及更高版本 |
+| v0.12.0 | 支持 WebSocket 压缩 | 3.2.3.0 及更高版本 |
+| v0.11.0 | 消息订阅功能优化 | 3.2.0.0 |
+| v0.10.0 | WebSocket endpoint 变更 | 3.1.0.0 |
+| v0.9.2 | STMT:通过 WebSocket 获取 `tag_fields` 和 `col_fields` 信息 | 3.0.7.0 |
+| v0.8.12 | 消息订阅:支持获取消费进度及按照指定进度开始消费 | 3.0.5.0 |
+| v0.8.0 | 支持无模式写入 | 3.0.4.0 |
+| v0.7.6 | 支持在请求中使用 `req_id` | 3.0.3.0 |
+| v0.6.0 | 基础功能 | 3.0.0.0 |
-
-## 处理错误
+## 异常和错误码
在报错后,可以获取到错误的具体信息:
@@ -61,7 +54,8 @@ match conn.exec(sql) {
}
}
```
-错误信息的错误码可以参考:[错误码](../../../reference/error-code)
+
+错误信息的错误码可以参考:[错误码](../../../reference/error-code)
## 数据类型映射
@@ -80,14 +74,14 @@ TDengine 目前支持时间戳、数字、字符、布尔类型,与 Rust 对
| BINARY | Vec\ |
| NCHAR | String |
| JSON | serde_json::Value |
-| VARBINARY | Bytes |
-| GEOMETRY | Bytes |
+| VARBINARY | Bytes |
+| GEOMETRY | Bytes |
**注意**:JSON 类型仅在 tag 中支持。
## 示例程序汇总
-示例程序源码请参考:[rust example](https://github.com/taosdata/TDengine/tree/main/docs/examples/rust)
+请参考:[rust example](https://github.com/taosdata/TDengine/tree/main/docs/examples/rust)
## 常见问题
@@ -96,9 +90,10 @@ TDengine 目前支持时间戳、数字、字符、布尔类型,与 Rust 对
## API 参考
Rust 连接器的接口分为同步接口和异步接口,一般同步接口是由异步接口实现,方法签名除 async 关键字外基本相同。对于同步接口和异步接口功能一样的接口,本文档只提供同步接口的说明。
-对于 WebSocket 连接和原生连接两种方式,除了建立连接的 DSN 不同,其余接口调用没有区别。
+对于 WebSocket 连接和原生连接两种方式,除了建立连接的 DSN 不同,其余接口调用没有区别。
+
+### 连接功能
-### 连接功能
#### DSN
TaosBuilder 通过 DSN 连接描述字符串创建一个连接构造器。
@@ -126,29 +121,35 @@ DSN 描述字符串基本结构如下:
一个完整的 DSN 描述字符串示例如下:`taos+ws://localhost:6041/test`, 表示使用 WebSocket(`ws`)方式通过 `6041` 端口连接服务器 `localhost`,并指定默认数据库为 `test`。
#### TaosBuilder
+
TaosBuilder 结构体主要提供了根据 DSN 构建 Taos 对象的方法,还提供了检查连接,以及获取客户端版本号等功能。
- `fn available_params() -> &'static [&'static str]`
+
- **接口说明**:获取 DSN 中可用的参数列表。
- **返回值**:返回静态字符串切片的引用,包含可用的参数名称。
- `fn from_dsn(dsn: D) -> RawResult`
+
- **接口说明**:使用 DSN 字符串创建连接,不检查连接。
- **参数说明**:
- `dsn`:DSN 字符串或可转换为 DSN 的类型。
- **返回值**:成功时返回自身类型的 `RawResult`,失败时返回错误。
- `fn client_version() -> &'static str`
+
- **接口说明**:获取客户端版本。
- **返回值**:返回客户端版本的静态字符串。
- `fn ping(&self, _: &mut Self::Target) -> RawResult<()>`
+
- **接口说明**:检查连接是否仍然存活。
- **参数说明**:
- `_`:目标连接的可变引用。
- **返回值**:成功时返回空的 `RawResult`,失败时返回错误。
- `fn ready(&self) -> bool`
+
- **接口说明**:检查是否准备好连接。
- **返回值**:大多数情况下返回 `true`,表示地址准备好连接。
@@ -157,26 +158,32 @@ TaosBuilder 结构体主要提供了根据 DSN 构建 Taos 对象的方法,还
- **返回值**:成功时返回目标连接类型的 `RawResult`,失败时返回错误。
### 执行 SQL
+
执行 SQL 主要使用 Taos 结构体,获取结果集以及元数据需要使用下节介绍的 ResultSet 结构体 和列信息 Field 结构体。
#### Taos
+
Taos 结构体提供了多个数据库操作的 API,包括:执行 SQL,无模式写入,以及一些常用数据库查询的封装(如创建数据库,获取)
- `pub fn is_native(&self) -> bool`
+
- **接口说明**:判断连接是否使用本地协议。
- **返回值**:如果使用本地协议,则返回 `true`,否则返回 `false`。
- `pub fn is_ws(&self) -> bool`
- - **接口说明**:判断连接是否使用websocket协议。
- - **返回值**:如果使用websocket协议,则返回 `true`,否则返回 `false`。
+
+ - **接口说明**:判断连接是否使用 WebSocket 协议。
+ - **返回值**:如果使用 WebSocket 协议,则返回 `true`,否则返回 `false`。
- `fn query>(&self, sql: T) -> RawResult`
+
- **接口说明**:执行 SQL 查询。
- **参数说明**:
- `sql`:要执行的 SQL 语句。
- **返回值**:成功时返回结果集 `ResultSet` 的 `RawResult`,失败时返回错误。
- `fn query_with_req_id>(&self, sql: T, req_id: u64) -> RawResult`
+
- **接口说明**:带请求 ID 执行 SQL 查询。
- **参数说明**:
- `sql`:要执行的 SQL 语句。
@@ -184,49 +191,58 @@ Taos 结构体提供了多个数据库操作的 API,包括:执行 SQL,无
- **返回值**:成功时返回结果集 `ResultSet` 的 `RawResult`,失败时返回错误。
- `fn exec>(&self, sql: T) -> RawResult`
+
- **接口说明**:执行 SQL 语句。
- **参数说明**:
- `sql`:要执行的 SQL 语句。
- **返回值**:成功时返回受影响的行数,失败时返回错误。
- `fn exec_many, I: IntoIterator- >(&self, input: I) -> RawResult`
+
- **接口说明**:批量执行 SQL 语句。
- **参数说明**:
- `input`:要执行的 SQL 语句集合。
- **返回值**:成功时返回总共受影响的行数,失败时返回错误。
- `fn query_one, O: DeserializeOwned>(&self, sql: T) -> RawResult