apache / apache/iotdb

Logical AND Error causing - 305 INTERNAL_SEVER_ERROR

Đang mở
#16,406 6 bình luận 0 reaction 0 người được giao Xem trên GitHub
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 2.0.5 (Build: 0917050)

### Describe the bug and provide the minimal reproduce step

DELETE DATABASE root.db1;
CREATE DATABASE root.db1;

CREATE TIMESERIES root.db1.t2.c0 INT64;
CREATE TIMESERIES root.db1.t2.c1 INT64;
CREATE TIMESERIES root.db1.t2.c2 INT32;

INSERT INTO root.db1.t2(timestamp, c0, c1, c2) VALUES (1641024000000, 123, 1, 456);

#query 1
SELECT c2 AS ref0, c0 AS ref1 FROM root.db1.t2 WHERE c1 = 1 OR 1=0;

#query 2
SELECT c2 AS ref0, c0 AS ref1 FROM root.db1.t2 WHERE c1 = 1 OR 1!=0;

#query 3
SELECT c2 AS ref0, c0 AS ref1 FROM root.db1.t2 WHERE c1 = 1 AND 1=1;

### What did you expect to see?

query 1 : return 1 result

query2 : return 1 result

query3 : return 1 result

### What did you see instead?

query 1 : return 1 result

query2 : return 1 result

query3 : 305 INTERNAL_SERVER_ERROR

### Anything else?

dear IoTDB team, I found out adding a logically neutral constant to a WHERE clause using AND 1 = 1 causes INTERNAL_SERVER_ERROR (305), while the equivalent OR 1=1 does not.
This looks like the crash is tied to neutral conjuncts in AND

### Are you willing to submit a PR?

- [ ] I'm willing to submit a PR!

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu bằng cách chạy ba bản tái hiện SQL trên IoTDB 2.0.5 và so sánh các trường hợp AND và OR. Theo dõi cách biểu thức WHERE xử lý các phép so sánh hằng số, sau đó thêm phạm vi kiểm thử hồi quy cho query 3; hoàn thành nghĩa là cả ba truy vấn đều trả về một kết quả mà không có lỗi 305.

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ó
3/5
Thời gian dự kiến
1-2 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
48/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.