apache / apache/iotdb

Logical OR causes 305 INTERNAL SERVER ERROR

Abierto
#16,408 1 comentario 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Java
Estrellas
6.4k
Forks
1.2k
Merge medio
1 d 23 h
PR fusionados (30 d)
115

Descripción

### 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!

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza ejecutando las tres consultas SQL contra IoTDB 2.0.5 y compara el caso funcional OR TRUE con el caso fallido OR 1=1. Sigue el recorrido de la planificación de consultas o de la evaluación de expresiones para los filtros de tiempo combinados con NOT IN; el trabajo estará terminado cuando la consulta 3 devuelva el mismo valor que las consultas 1 y 2 en lugar de un 305 INTERNAL SERVER ERROR.

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

Evaluación

Stack tecnológico
java, sql
Área
databases
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.