Do we need reject inserting an invalid infinity float value while in select into & fill
- Dominant language
- Java
- Stars
- 6.4k
- Forks
- 1.2k
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 115
Description
**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
Contributor guide
Research direction
Start by reproducing the issue with the provided iotdb-client statements and inspect the select into and fill handling paths. Trace how the float fill value is parsed and validated; done means the statement is rejected and the database contains no Infinity value.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, sql
- Domain
- database
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 45/100