Logical AND Error causing - 305 INTERNAL_SEVER_ERROR
- 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
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!
Guía de contribución
Línea de trabajo
Comienza ejecutando las tres reproducciones SQL contra IoTDB 2.0.5 y compara los casos AND y OR. Traza cómo la expresión WHERE gestiona las comparaciones constantes y, después, añade cobertura de regresión para query 3; se considera terminado cuando las tres consultas devuelven un resultado sin un error 305.
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
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 48/100