apache / apache/iotdb

[Bug] The BETWEEN operator suppresses normal syntax parsing.

Ouverte
#14,143 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Java
Étoiles
6.4k
Forks
1.2k
Merge moyen
1 j 23 h
PR mergées (30 j)
115

Description

### Search before asking

- [X] I searched in the [issues](https://github.com/apache/iotdb/issues) and found nothing similar.

### Version

version 1.3.3 (Build: ad95a7e)

### Describe the bug and provide the minimal reproduce step

```
DROP DATABASE root.db0
CREATE DATABASE root.db0

CREATE TIMESERIES root.db0.t1 WITH datatype=DOUBLE compressor=GZIP 'MAX_POINT_NUMBER'='8';
INSERT INTO root.db0(timestamp, t1) VALUES (1676586471999, 0.1);
INSERT INTO root.db0(t1) VALUES (0.2);

# query 1 success
SELECT t1 FROM root.db0 WHERE 1 BETWEEN (0) AND (t1 - CAST(t1 as DOUBLE))

# query 2 error
SELECT t1 FROM root.db0 WHERE (t1 - CAST(t1 as DOUBLE))
```

### What did you expect to see?

Query 1 returned result set: INTERNAL_SERVER_ERROR(305) Unsupported expression type: SUBTRACTION

Query 2 returned result set: INTERNAL_SERVER_ERROR(305) Unsupported expression type: SUBTRACTION

### What did you see instead?

Query 1 returned result set: Empty set.

Query 2 returned result set: INTERNAL_SERVER_ERROR(305) Unsupported expression type: SUBTRACTION

### Anything else?

Dear IoTDB team, Both Query 1 and Query 2 should report syntax errors, but Query 1 executes successfully, which could mislead users.

### Are you willing to submit a PR?

- [X] I'm willing to submit a PR!

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par exécuter la reproduction minimale avec IoTDB 1.3.3, en vous concentrant sur la manière dont l’analyseur SQL traite les deux expressions WHERE et la forme BETWEEN. Suivez le point d’entrée de l’analyse de Query 1 et comparez-le à Query 2. Le travail est terminé lorsque Query 1 ne s’exécute plus correctement ou ne renvoie plus un ensemble vide lorsque l’expression est invalide, et que les deux cas signalent l’erreur de syntaxe prévue.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java, sql
Domaine
databases
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.