[Bug] Support inclusive end time syntax ] in GROUP BY clause IoTDB 2.0.5
- 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
OS: Ubuntu 24.04 LTS
IoTDB: 2.0.5
### Describe the bug and provide the minimal reproduce step
Currently, the `GROUP BY` clause in IoTDB strictly uses the left-closed, right-open `[start, end)` time interval format. Users often need to include the data point exactly at the end time (e.g., `[start, end])`, but the current syntax does not support using `]` to specify an inclusive end time.
When querying time-series data, it is common to want a precise inclusive range (e.g., from `12:00` to `13:00` inclusive). To achieve this now, users must manually extend the end_time by a small fraction (e.g., `+1ms`) or by a full time interval unit, which is unintuitive and can lead to errors or off-by-one queries.
### What did you expect to see?
Support the standard interval syntax `]` to denote an inclusive end time in the `GROUP BY` clause.
Example:
Allow this syntax:
```SQL
SELECT count(s1) FROM root.sg.d1
GROUP BY ([2026-01-27T12:00:00, 2026-01-27T13:00:00], 1m)
```
### What did you see instead?
Current syntex doesn't allow `]` for end time. I have to use the below syntex:
```SQL
SELECT count(s1) FROM root.sg.d1
GROUP BY ([2026-01-27T12:00:00, 2026-01-27T13:00:00), 1m)
```
but it excludes the value at 13:00:00
### Anything else?
Current Workaround:
Users currently have to modify the timestamp manually:
```SQL
-- Extended by 1ms to capture the last point
GROUP BY ([2026-01-27T12:00:00, 2026-01-27T13:00:00.001), 1m)
```
### Are you willing to submit a PR?
- [ ] I'm willing to submit a PR!
Beitragsleitfaden
Rechercherichtung
Beginne damit, den Einstiegspunkt für die SQL GROUP BY-Klausel und die Behandlung der Endgrenzen von Intervallen zu lokalisieren. Reproduziere die Beispiele im Issue und überprüfe anschließend, dass ein schließendes ] akzeptiert wird und dass Daten genau am Endzeitstempel eingeschlossen werden, ohne das bestehende Verhalten von [start, end) zu ändern.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java, sql
- Bereich
- databases
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100