Skip to content

Commit 912fcc4

Browse files
author
Peng Rongkun
committed
Merge remote-tracking branch 'origin/main' into fix/main/6487654850
2 parents e288527 + c5bf416 commit 912fcc4

73 files changed

Lines changed: 3151 additions & 327 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

cmake/in/lzma2.Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ CC:=gcc
77
AR:=ar -rcs
88
RM:=rm -rf
99

10-
ASFLAGS :=
10+
ASFLAGS := -Wa,--noexecstack
1111

1212
SONAME:=libfast-lzma2.so.1
1313
REAL_NAME:=libfast-lzma2.so.1.0

conan/fast-lzma2/conanfile.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ def build(self):
5050

5151
# Build make command
5252
cflags = "-Wall -O2 -pthread"
53+
asflags = "-Wa,--noexecstack"
5354
if self.options.get_safe("fPIC"):
5455
cflags += " -fPIC"
5556

@@ -59,7 +60,7 @@ def build(self):
5960

6061
# Execute make compilation
6162
self.run(
62-
f'make CFLAGS="{cflags}" CC={self.settings.get_safe("compiler", default="gcc")} libfast-lzma2',
63+
f'make CFLAGS="{cflags}" ASFLAGS="{asflags}" CC={self.settings.get_safe("compiler", default="gcc")} libfast-lzma2',
6364
cwd=source_folder,
6465
)
6566

docs/en/07-develop/01-connect.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ If you are using Maven to manage your project, simply add the following dependen
8585
<dependency>
8686
<groupId>com.taosdata.jdbc</groupId>
8787
<artifactId>taos-jdbcdriver</artifactId>
88-
<version>3.8.2</version>
88+
<version>3.8.3</version>
8989
</dependency>
9090
```
9191

docs/en/08-operation/16-security.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,7 @@ taosk -c /etc/taos \
253253
Parameter descriptions:
254254

255255
- `-c`: Specify configuration file path, default `/etc/taos`
256+
- `-d`: Specify data directory (dataDir), default from configuration
256257
- `--set-cfg-algorithm`: Set configuration file encryption algorithm (sm4 or aes), default sm4
257258
- `--set-meta-algorithm`: Set metadata encryption algorithm (sm4 or aes), default sm4
258259
- `--encrypt-server`: Enable server encryption, optionally specify SVR_KEY, auto-generate if not specified
@@ -288,6 +289,39 @@ After keys are generated, they will be saved in the following locations:
288289
- `{dataDir}/dnode/config/master.bin`: Stores SVR_KEY and DB_KEY
289290
- `{dataDir}/dnode/config/derived.bin`: Stores CFG_KEY, META_KEY, and DATA_KEY
290291

292+
### View Encrypted Configuration Files
293+
294+
Use the `taosk` tool to view encrypted configuration file content:
295+
296+
```shell
297+
taosk -d /var/lib/taos --view-config /path/to/encrypted_config.json
298+
```
299+
300+
This command automatically loads keys from the data directory, decrypts and displays the configuration file content.
301+
302+
### Edit Encrypted Configuration Files
303+
304+
Use the `taosk` tool to directly edit encrypted configuration files:
305+
306+
```shell
307+
taosk -d /var/lib/taos --edit-file /path/to/encrypted_config.json
308+
```
309+
310+
This command will:
311+
312+
1. Load CFG_KEY from the data directory
313+
2. Decrypt the configuration file to a temporary file (permissions 0600)
314+
3. Open the file with the system editor ($EDITOR or vi)
315+
4. Detect file changes via SHA-256 hash comparison
316+
5. If modified, automatically re-encrypt and write back to the original file
317+
6. Clean up temporary files
318+
319+
**Notes**:
320+
321+
- Keys containing CFG_KEY must be generated first (using `--encrypt-config` option)
322+
- Specify editor via EDITOR environment variable, e.g., EDITOR=nano taosk -d /var/lib/taos --edit-file ...
323+
- If you exit the editor without saving, the file will not be modified
324+
291325
### View Encryption Algorithms
292326

293327
Users can view all built-in available encryption algorithms.

docs/en/14-reference/01-components/01-taosd.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,6 @@ Additional Notes:
184184
| tagFilterCache | | Supported, effective immediately | Whether to cache tag filter results |
185185
| stableTagFilterCache | since 3.3.8.6 | Supported, effective immediately | In stream computing, whether to cache filter results of equal condition of tags. It will not become invalid due to adding or deleting child tables or updating the tag values or modifying super table tags. |
186186
| metaEntryCacheSize | since 3.3.6.35 | Supported, effective immediately | The reserved memory size to cache meta tags |
187-
| queryBufferSize | | Supported, effective after restart | Not effective yet |
188187
| queryRspPolicy | | Supported, effective immediately | Query response strategy |
189188
| queryUseMemoryPool | | Supported, effective after restart | Whether query will use memory pool to manage memory, default value: 1 (on); 0: off, 1: on |
190189
| minReservedMemorySize | | Supported, effective immediately | The minimum reserved system available memory size, all memory except reserved can be used for queries, unit: MB, default value: 0 (when set to 0, the system will automatically calculate the reserved memory size), value range 1024-1000000000 |
@@ -306,7 +305,6 @@ The effective value of charset is UTF-8.
306305
| ssPageCacheSize | After 3.3.7.0 | Supported, effective after restart | Number of shared storage page cache pages, range 4-1048576, unit is pages, default value 4096; Enterprise parameter |
307306
| ssUploadDelaySec | After 3.3.7.0 | Supported, effective immediately | How long a data file remains unchanged before being uploaded to S3, range 1-2592000 (30 days), in seconds, default value 60; Enterprise parameter |
308307
| diskIDCheckEnabled | After 3.3.5.0 | Not supported | Check if the disk ID where dataDir is located has changed when restarting dnode; 0: perform check, 1: do not perform check; default value 1 |
309-
| cacheLazyLoadThreshold | | Supported, effective immediately | Internal parameter, cache loading strategy |
310308

311309
### Cluster Related
312310

docs/en/14-reference/01-components/08-config-scope.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@ This document compares the configuration parameters of taosd (server-side) and t
4848
| countAlwaysReturnValue | both | Whether count/hyperloglog functions return a value when input data is empty or NULL |
4949
| tagFilterCache | taosd | Whether to cache tag filter results |
5050
| stableTagFilterCache | taosd | Whether to cache tag equal condition filter results. It will not become invalid due to adding or deleting child tables or updating the tag values or modifying super table tags. |
51-
| queryBufferSize | taosd | Query available cache size |
5251
| queryRspPolicy | taosd | Query response strategy |
5352
| queryUseMemoryPool | taosd | Whether query will use memory pool to manage memory |
5453
| minReservedMemorySize | taosd | The minimum reserved system available memory size |
@@ -92,7 +91,6 @@ This document compares the configuration parameters of taosd (server-side) and t
9291
| ssAccessString | taosd | A string which contains various options for accessing the shared storage |
9392
| ssPageCacheSize | taosd | Number of shared storage page cache pages |
9493
| ssUploadDelaySec | taosd | How long a data file remains unchanged before being uploaded to shared storage |
95-
| cacheLazyLoadThreshold | taosd | Cache loading strategy |
9694
| **Cluster Related** | | |
9795
| supportVnodes | taosd | Maximum number of vnodes supported by a dnode |
9896
| numOfCommitThreads | taosd | Maximum number of commit threads |

docs/en/14-reference/03-taos-sql/20-select.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -659,7 +659,7 @@ A non-correlated scalar subquery is a type of independent executable subquery in
659659

660660
Non-correlated scalar subqueries can independently compute the result first, and then substitute that result into the outer query as a filter condition or reference value. They are commonly used in scenarios involving filtering based on aggregate values (such as average, maximum) or combining results from multiple table queries. Non-correlated scalar subqueries have higher execution efficiency than correlated subqueries.
661661

662-
Since version 3.4.0.0, TDengine TSDB has begun to support non-correlated scalar subqueries in query statements. Other statements (such as stream computations, subscriptions, DDL, DML, etc.) are not yet supported.
662+
Since version 3.4.0.0, TDengine TSDB supports non-correlated scalar subqueries in query statements. Starting from version 3.4.1.0, stream computing also supports them. Other statements (such as subscriptions, DDL, and DML, except for INSERT INTO ... SELECT) are not yet supported.
663663

664664
Examples of non-correlated scalar subqueries appearing in SELECT and WHERE clauses are as follows:
665665

@@ -670,7 +670,7 @@ SELECT col1 FROM tb2 WHERE col1 >= (SELECT avg(col1) FROM tb1);
670670

671671
## Subquery expression
672672

673-
Starting from version 3.4.1.0, TDengine TSDB began to support the following subquery expressions, where the subqueries are limited to non-correlated subqueries, currently only supported for use in query statements, and not yet supported in statements such as stream computing, subscriptions, DDL (Data Definition Language), and DML (Data Manipulation Language).
673+
Starting from version 3.4.1.0, TDengine TSDB supports the following subquery expressions. These subqueries must be non-correlated and are currently supported in query statements and stream computing, but not yet in subscriptions, DDL (Data Definition Language), or DML (Data Manipulation Language) statements (except for INSERT INTO ... SELECT).
674674

675675
### IN Subquery
676676

docs/en/14-reference/05-connector/14-java.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ The JDBC driver implementation for TDengine strives to be consistent with relati
4040

4141
| taos-jdbcdriver Version | Major Changes | TDengine Version |
4242
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------ |
43+
| 3.8.3 | Fixed the bug where BearerToken-based authentication in data subscriptions incorrectly required a username. | - |
4344
| 3.8.2 | Support for BearerToken-based authentication in data subscriptions. | - |
4445
| 3.8.1 | Decimal and Blob types support writing via parameter binding. | - |
4546
| 3.8.0 | 1. Load balancing adopts the least connections algorithm. <br/> 2. Supports connection rebalancing after failure node recovery. <br/> 3. Supports reporting connector type and version. <br/> 4. Supports BearerToken authentication. <br/> 5. Fixed the nanosecond precision issue when parameter binding includes sub-table names. <br/> 6. Log desensitization optimization. <br/> | - |

docs/en/14-reference/05-connector/35-node.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Support all platforms that can run Node.js.
2424

2525
| Node.js Connector Version | Major Changes | TDengine Version |
2626
| ------------------------- | ------------------------------------------------------------------------ | --------------------------- |
27-
| 3.4.0 | Supports BLOB data type | - |
27+
| 3.4.0 | 1. Supports BLOB data type. <br/> 2. Parameter binding supports DECIMAL data type. <br/> 3. Supports reporting user APP name and IP address. | - |
2828
| 3.3.0 | Supports load balancing and failover | - |
2929
| 3.2.3 | 1. Supports token authentication. <br/> 2. Supports reporting connector version information. | - |
3030
| 3.2.2 | Fix timezone handling issues on Windows systems. | - |
@@ -66,6 +66,7 @@ The table below shows the mapping between TDengine DataType and Node.js DataType
6666
| BINARY | string |
6767
| NCHAR | string |
6868
| JSON | string |
69+
| DECIMAL | string |
6970
| VARBINARY | ArrayBuffer |
7071
| GEOMETRY | ArrayBuffer |
7172
| BLOB | ArrayBuffer |
@@ -88,7 +89,7 @@ The table below shows the mapping between TDengine DataType and Node.js DataType
8889
- The Node.js connector (`@tdengine/websocket`) supports Node.js version 14 and above. Versions below 14 may have package compatibility issues.
8990
- Currently, only WebSocket connections are supported, and taosAdapter needs to be started in advance.
9091
- After using the connector, you need to call taos.connectorDestroy(); to release the connector resources.
91-
- To set the time zone for time strings in SQL statements, you need to configure the time zone settings of taosc on the machine where taosadapter is located.
92+
- To set the time zone for time strings in SQL statements, you need to configure the time zone settings of taosc on the machine where taosAdapter is located.
9293
- When parsing result sets, JavaScript does not support the int64 type, so timezone conversion cannot be directly performed. If users have such requirements, third-party libraries can be introduced to provide support.
9394

9495
## Common Issues
@@ -164,6 +165,8 @@ The configurations in WSConfig are as follows:
164165
- setTimeOut(ms : number) Set the connection timeout in milliseconds.
165166
- setToken(token: string) Set the cloud service authentication token.
166167
- setBearerToken(token: string) Set the TDengine TSDB authentication token, which has higher priority than username and password.
168+
- setUserApp(userApp: string) Set the name of the app reported by the user.
169+
- setUserIp(userIp: string) Set the IP address reported by the user.
167170

168171
### Connection Features
169172

@@ -298,6 +301,7 @@ The configurations in WSConfig are as follows:
298301
- `setVarBinary(params: any[])`
299302
- `setGeometry(params: any[])`
300303
- `setBlob(params: any[])`
304+
- `setDecimal(params: any[])`
301305
- `setTimestamp(params: any[])`
302306
- `async setTags(paramsArray:StmtBindParams): Promise<void>`
303307
- **Interface Description** Set table Tags data for automatic table creation.

docs/en/14-reference/05-connector/40-csharp.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,15 +79,15 @@ For error code information please refer to [Error Codes](../09-error-code.md)
7979

8080
- JSON type is only supported in tags.
8181
- BLOB type is not supported as a tag column and does not support stmt parameterized query binding.
82-
- The GEOMETRY type is binary data in little endian byte order, conforming to the WKB standard. For more details, please refer to [Data Types](../03-taos-sql/01-datatype.md)
83-
For WKB standard, please refer to [Well-Known Binary (WKB)](https://libgeos.org/specifications/wkb/)
84-
- The DECIMAL type in C# is represented using the `decimal` type, which supports high-precision decimal numbers.
82+
- The GEOMETRY type is binary data in little endian byte order, conforming to the WKB standard. For more details, please refer to [Data Types](../03-taos-sql/01-datatype.md). For WKB standard, please refer to [Well-Known Binary (WKB)](https://libgeos.org/specifications/wkb/).
83+
- The DECIMAL type is not supported as a tag column. In C#, it is represented using the `decimal` type, which supports high-precision decimal numbers.
8584
Since C#'s `decimal` type differs from TDengine's DECIMAL type in precision and range,
8685
the C#'s `decimal` has a maximum precision of 29 digits, while TDengine's DECIMAL type supports up to 38 digits of precision.
8786
The following should be noted when using it:
8887
- When the value does not exceed the range of C#'s `decimal` type, you can use `GetDecimal` or `GetValue` to retrieve it.
8988
- When the value exceeds the range of C#'s `decimal` type, the `GetDecimal` and `GetValue` methods will throw an `OverflowException`.
9089
In such cases, you can use the `GetString` method to obtain the string representation.
90+
- When binding DECIMAL columns via stmt parameter binding, both `string` and C# `decimal` types are supported. C# `decimal` values are automatically converted to strings before being sent to the server. If the value's precision exceeds 29 digits, use the `string` type to avoid precision loss.
9191

9292
## Summary of Example Programs
9393

0 commit comments

Comments
 (0)