apache / apache/iotdb

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

Offen
#16,876 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Java
Sterne
6.4k
Forks
1.2k
Ø Merge
1 T. 23 Std.
Gemergte PRs (30 T.)
115

Beschreibung

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne mit den SHOW TIMESERIES-Abfragen im Issue und vergleiche TAGS(description) CONTAINS mit Timeseries CONTAINS unter Verwendung unterschiedlicher Groß-/Kleinschreibung. Verfolge die Implementierung dieser Metadatenfilter und füge eine Abdeckung für die gemeldeten Beispiele hinzu; fertig ist die Aufgabe, wenn sich TAGS CONTAINS konsistent mit dem bestehenden, die Groß-/Kleinschreibung ignorierenden Verhalten von Timeseries CONTAINS verhält.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java, sql
Bereich
databases
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.