Do we need reject inserting an invalid infinity float value while in select into & fill
- 主要言語
- Java
- スター
- 6.4k
- フォーク
- 1.2k
- 平均マージ
- 1日 23時間
- マージ済み PR(30日)
- 115
説明
**Describe the bug**
Like [IOTDB-2732](https://issues.apache.org/jira/browse/IOTDB-2732), I try to insert a infinity value into a float timeseries, not inserting directly but using `select into` and `fill` clause to insert a constant. And then, the iotdb doesn't reject it but remain Infinity in the database. Should it be checked and rejected like IOTDB-2732?
I also check the fill of int32 which can correctly reject it when insert into database by returning `Value fill doesn't support the 0-th column in SQL` in the IoTDB server(but return `The statement is executed successfully`in client), so I think the problem is the fill clause in float only parse the result but not check it.
Thanks.
**To Reproduce**
Run the following statements in iotdb-client:
`create timeseries root.sg0.t0 with datatype=float, encoding=plain`
`create timeseries root.sg0.t1 with datatype=float, encoding=plain`
`select t0 into t1 from root.sg0 where time=1 fill(3.5e38)`
`select * from root.sg0`
**Expected behavior**
The system will reject the select into statement, and there won't be Infinity in the database.
**Screenshots**

**Desktop (please complete the following information):**
- OS: Windows 10
- IoTDB version 0.13.1
コントリビューションガイド
調査の方向性
まず、提供された iotdb-client ステートメントで問題を再現し、select into と fill の処理パスを調べます。float の埋め込み値がどのように解析および検証されるかを追跡します。完了の条件は、ステートメントが拒否され、データベースに Infinity 値が存在しないことです。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java, sql
- 領域
- database
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- 明確に書かれている
- 初心者へのやさしさ
- 45/100