Fix RpcDataSet deadlock, timezone compatibility, column index issues, and deprecation cleanup (#48) * Fix RpcDataSet deadlock, timezone compatibility, and column index issues - Add async NextAsync()/FetchResultsAsync() to RpcDataSet, mark sync Next() as obsolete - Add HasNextAsync() to SessionDataSet for non-blocking iteration - Fix TimeZoneNotFoundException by adding IANA-to-Windows timezone mapping - Fix GetDateByTsBlockColumnIndex/GetIntByTsBlockColumnIndex for Time column (index -1) - Fix RowRecord obsolete constructor usage in RpcDataSet.GetRow() and IoTDBCommand - Migrate all samples from deprecated SessionPool(host,port,poolSize) to Builder pattern - Migrate all samples from deprecated RowRecord 3-arg constructor to 4-arg with TSDataType * Fix GetRow() type handling, GetInt overflow, and timezone fallback in RpcDataSet - Identify time column by tsBlockColumnIndex==-1 instead of TSDataType.TIMESTAMP to correctly set RowRecord.Timestamps and preserve TIMESTAMP-typed value columns - Return proper types for DATE (DateTime) and BLOB (byte[]) in GetRow() to match RowRecord.ToBytes() expectations and prevent InvalidCastException - Guard BLOB null with binary?.Data to avoid NullReferenceException - Use checked cast in GetIntByTsBlockColumnIndex for time column to surface OverflowException instead of silently returning truncated values - Throw TimeZoneNotFoundException instead of silently falling back to TimeZoneInfo.Local when zone ID cannot be resolved Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This is the C# client of Apache IoTDB.
Apache IoTDB (Internet of Things Database) is a data management system for time series data, which can provide users specific services, such as, data collection, storage and analysis. Due to its light weight structure, high performance and usable features together with its seamless integration with the Hadoop and Spark ecology, IoTDB meets the requirements of massive dataset storage, high throughput data input, and complex data analysis in the industrial IoT field.
Apache IoTDB website: https://iotdb.apache.org Apache IoTDB Github: https://github.com/apache/iotdb
We have prepared a Nuget Package for C# users. Users can directly install the Apache IoTDB client using the .NET CLI. To install, simply run the following command in your command line:
dotnet add package Apache.IoTDB
For more details, visit the package on NuGet.
[!NOTE] The
Apache.IoTDBpackage only supports versions greater than.net framework 4.6.1.
.NET SDK Version >= 5.0 .NET Framework >= 4.6.1
Users can quickly get started by referring to the use cases under the Apache-IoTDB-Client-CSharp-UserCase directory. These use cases serve as a useful resource for getting familiar with the client's functionality and capabilities.
For those who wish to delve deeper into the client's usage and explore more advanced features, the samples directory contains additional code samples.
.NET SDK Version >= 5.0 .NET Framework >= 4.6.1 ApacheThrift >= 0.14.1 NLog >= 4.7.9
This project uses dotnet format to enforce consistent code style based on the .editorconfig rules.
dotnet format --verify-no-changes
dotnet format
The CI pipeline will automatically check code formatting on all pull requests. Please ensure your code is properly formatted before submitting a PR.
You can find out how to publish from this doc.