apache / apache/iotdb

[Bug] SHOW TIMESERIES WHERE TAGS(...) CONTAINS is Case-Sensitive While Timeseries CONTAINS is Case-Insensitive

Ouverte
#16,876 1 commentaire 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

apache iotdb = 2.0.5

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

I'm encountering inconsistent behavior in SQL queries involving `CONTAINS` filters on timeseries metadata. When searching timeseries by `TAGS`, the `CONTAINS` operator behaves case-sensitively.

```sql
SHOW TIMESERIES WHERE TAGS(description) CONTAINS "Flow";
```
This returns results correctly because one of my timeseries has a tag `description="Flow"`.

But if I change the search to:
```sql
SHOW TIMESERIES WHERE TAGS(description) CONTAINS "flow";
```
It returns no results, even though `"Flow"` exists.
So tag-based `CONTAINS` filtering is case-sensitive.

### What did you expect to see?

`CONTAINS` should behave consistently across metadata fields, ideally being case-insensitive.
For **timeseries names**, the same query type is already **case-insensitive**:
```sql
SHOW TIMESERIES WHERE Timeseries CONTAINS "Flow";
```
This matches `"Flow"`, `"flow"`, `"FLOW"`, etc.

### What did you see instead?

#### Why This Matters:

* TAG searches are commonly used for metadata filtering and discovery.
* Case-sensitive matching makes searching inconsistent with other IoTDB metadata filters.
* It forces users to know exact casing of tags, reducing usability.

### Anything else?

_No response_

### Are you willing to submit a PR?

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

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par les requêtes SHOW TIMESERIES de l’issue, en comparant TAGS(description) CONTAINS à Timeseries CONTAINS avec différentes casses. Suivez l’implémentation de ces filtres de métadonnées et ajoutez une couverture pour les exemples signalés ; le travail est terminé lorsque TAGS CONTAINS se comporte de manière cohérente avec le comportement existant de Timeseries CONTAINS, qui ne tient pas compte de la casse.

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
45/100

Recevez les nouvelles issues par e-mail

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