[Bug] There is a logical error in performing multiplication operations with a value of 0.
- Ngôn ngữ chính
- Java
- Star
- 6.4k
- Fork
- 1.2k
- Merge trung bình
- 1 ngày 23 giờ
- Pull request đã merge (30 ngày)
- 115
Mô tả
### Search before asking
- [X] I searched in the [issues](https://github.com/apache/iotdb/issues) and found nothing similar.
### Version
version 1.3.3 (Build: ad95a7e)
### Describe the bug and provide the minimal reproduce step
```
DROP DATABASE root.db0
CREATE DATABASE root.db0
CREATE TIMESERIES root.db0.t1 WITH datatype=INT32;
INSERT INTO root.db0(timestamp, t1) VALUES (1641024000000, 0);
# query 1
SELECT t1 FROM root.db0 WHERE (-1) * t1 == 0;
# query 2
SELECT t1 FROM root.db0 WHERE (-1) * t1 == -0.0;
```
### What did you expect to see?
Query 1 returned result set: **0**
Query 2 returned result set: **0**
### What did you see instead?
Query 1 returned result set: **empty set**
Query 2 returned result set: **0**
### Anything else?
Dear IoTDB team, In the query above, the result of the expression `(-1) * t1` is `-0.0`. In principle, this value should be equivalent to `0`. However, a comparison of the results from Query 1 and Query 2 indicates that the two are not equal. The same logical error also exists in division operations.
### Are you willing to submit a PR?
- [ ] I'm willing to submit a PR!
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu bằng cách chạy hai truy vấn SQL IoTDB được cung cấp trên phiên bản 1.3.3 và so sánh kết quả các vị từ của chúng. Tiếp theo, lần theo quá trình đánh giá biểu thức được sử dụng cho phép nhân và phép chia, rồi xác minh rằng các phép so sánh liên quan đến 0 và -0.0 cho ra kết quả như mong đợi mà không thay đổi hành vi truy vấn khác.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- java, sql
- Lĩnh vực
- databases
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 38/100