apache / apache/iotdb

Logical OR causes 305 INTERNAL SERVER ERROR

Đang mở
#16,408 1 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

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.c1 INT64;
CREATE TIMESERIES root.db1.t2.c3 INT64;

INSERT INTO root.db1.t2(timestamp, c1, c3) VALUES (1707690567134, 1, 10);

#query 1
SELECT c1 AS ref0, c3 AS ref1
FROM root.db1.t2
WHERE (time == 1707690567134) AND (time NOT IN (1658432578669));

#query 2
SELECT c1 AS ref0, c3 AS ref1
FROM root.db1.t2
WHERE ((time == 1707690567134) AND (time NOT IN (1658432578669))) OR TRUE;

#query 3
SELECT c1 AS ref0, c3 AS ref1
FROM root.db1.t2
WHERE ((time == 1707690567134) AND (time NOT IN (1658432578669))) OR 1=1;

### What did you expect to see?

query 1 : return 1 value

query 2 : return same value

query 3 : return same value

### What did you see instead?

query 1 : return 1 value

query 2 : return same value

query 3 : 305 INTERNAL SERVER ERROR

Image

### Anything else?

OR 1=1 works in simple queries, but when combined with a time filter and time NOT IN (...), the query fails with 305 INTERNAL_SERVER_ERROR. The same predicate using OR TRUE runs fine.

### 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 truy vấn SQL trên IoTDB 2.0.5, so sánh trường hợp OR TRUE hoạt động với trường hợp OR 1=1 bị lỗi. Theo dõi đường đi của quá trình lập kế hoạch truy vấn hoặc đánh giá biểu thức đối với các bộ lọc thời gian kết hợp với NOT IN; hoàn thành có nghĩa là truy vấn 3 trả về cùng giá trị như các truy vấn 1 và 2 thay vì 305 INTERNAL SERVER ERROR.

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
45/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.