apache / apache/iotdb-client-csharp
ALIGN BY DEVICE 查询结果错误
- 主要語言
- C#
- 星號
- 24
- 分支
- 6
- PR 合併指標
- 30 天內沒有已合併 PR
描述
版本:Apache.IoTDB.Data 1.0.0.3
查询这样的语句,第2行获取不到数据。
sql:select FIRST_VALUE(ctwingCmdBody) as ctwingCmdBody ,MIN_TIME(ctwingCmdBody) as ts from root.beijingheat.commandCreate.IOT16810103.T10495873.P16810103.* where Time >= 2012-05-22T21:51:48.929 and Time < 2023-10-19T13:51:48.929 ALIGN BY DEVICE
cli的执行有结果:

测试代码如下:
using System.Data;
using Apache.IoTDB.Data;
using Microsoft.Extensions.Logging;
namespace ConsoleApp2
{
internal class Program
{
static void Main(string[] args)
{
string sql = "select FIRST_VALUE(ctwingCmdBody) as ctwingCmdBody ,MIN_TIME(ctwingCmdBody) as ts from root.beijingheat.commandCreate.IOT16810103.T10495873.P16810103.* where Time >= 2012-05-22T21:51:48.929 and Time < 2023-10-19T13:51:48.929 ALIGN BY DEVICE ";
IoTDBConnection _ioTDB= new IoTDBConnection("DataSource=192.168.1.101;Port=6667;Username=root;Password=root;Compression=false"); ;
Apache.IoTDB.SessionPool _session= _ioTDB.SessionPool;
Task.Run(async () =>
{
_session.Open();
var query =await _session.ExecuteQueryStatementAsync(sql);
while (query.HasNext())
{
var next = query.Next();
var values = next.Values;
var time = next.GetDateTime();
foreach (var item in values)
{
Console.WriteLine($"{item}");
}
}
});
Console.ReadLine();
}
}
}
执行结果如下:

貢獻指南
這個儲存庫沒有索引到貢獻指南
研究方向
從提供的 C# 主控台重現程式碼和進入點 ExecuteQueryStatementAsync 開始,然後檢查針對 ALIGN BY DEVICE 陳述式傳回的查詢列和 Values 是如何進行反覆處理的。將用戶端輸出與 CLI 結果進行比較,重點關注第二列遺失的原因。當 C# 用戶端針對此 SQL 傳回與 CLI 相同的列時,即表示完成。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- csharp
- 領域
- databases
- Issue 類型
- 缺陷
- 難度
- 3/5
- 預估耗時
- 1-2 天
- 活躍度
- 停滯
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100