apache / apache/iotdb

Do we need reject inserting an invalid infinity float value while in select into & fill

Open
#7,071 0 comments 0 reactions 0 assignees View on GitHub
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**
![image](https://user-images.githubusercontent.com/25195216/185772549-292af9c1-d2f8-45e7-b087-329d20b08f5c.png)

**Desktop (please complete the following information):**
- OS: Windows 10
- IoTDB version 0.13.1

Contributor guide

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.