ClickHouse / ClickHouse/clickhouse-cpp

Bug in MAX Function with MergeTree Engine

Abierto
#403 1 comentario 0 reacciones 0 asignados Ver en GitHub
bug need-info
Lenguaje dominante
C
Estrellas
382
Forks
209
Merge medio
1 d 22 h
PR fusionados (30 d)
13

Descripción

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)

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Comienza ejecutando la secuencia proporcionada de CREATE TABLE, INSERT y SELECT en el entorno indicado y compara los resultados repetidos con el valor esperado. Rastrea la ruta de partición de MergeTree y el manejo de MAX/MIN para valores relacionados con NaN; se considera terminado cuando las consultas repetidas devuelven de forma consistente 766544500 y una prueba de regresión cubre la reproducción.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
sql
Área
databases
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bien especificado
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.