ClickHouse / ClickHouse/clickhouse-cpp
Bug in MAX Function with MergeTree Engine
- Ngôn ngữ chính
- C
- Star
- 382
- Fork
- 209
- Merge trung bình
- 2 ngày 19 giờ
- Pull request đã merge (30 ngày)
- 14
Mô tả
Dear CK Team, I have a bug that I need to report to you.
Description:
While using the MAX/MIN function on a column with MergeTree table engine, the query produces inconsistent results. Specifically, this bug is triggered when a specific partition key is selected and the corresponding column contains NaN values
Steps to Reproduce:
```
CREATE TABLE t1 (c0 Int32)
ENGINE = MergeTree()
ORDER BY c0
PARTITION BY (toUInt64 (c0))
INSERT INTO t1 (c0)
VALUES (-766544500), (2052205600), (2064494500), (824848640), (0)
SELECT MAX(-(c0/c0/c0+c0))
FROM t1
```
Expected Behavior:
The result should be consistent and return the unique positive value 766544500.
Actual Behavior:
Different values are returned across multiple queries, including all values in c0 execpt NaN ( -766544500, 2052205600, 2064494500, 824848640, 0).
Environment
OS:Ubuntu Server 22.04 LTS 64bit
TDengine Version:24.5.1.1010 (official build)
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Bắt đầu bằng cách chạy chuỗi CREATE TABLE, INSERT và SELECT được cung cấp trên môi trường đã nêu, rồi so sánh các kết quả lặp lại với giá trị mong đợi. Truy vết đường dẫn phân vùng MergeTree và cách xử lý MAX/MIN đối với các giá trị liên quan đến NaN; công việc được xem là hoàn tất khi các truy vấn lặp lại luôn trả về 766544500 và một bài kiểm thử hồi quy bao quát việc tái hiện.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- 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
- Đặc tả rõ ràng
- Mức phù hợp với người mới
- 35/100