[Bug] 特定场景 SELECT last * from 语句报错
- Dominant language
- Java
- Stars
- 6.4k
- Forks
- 1.2k
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 115
Description
### Search before asking
- [x] I searched in the [issues](https://github.com/apache/iotdb/issues) and found nothing similar.
### Version
2.0.5
### Describe the bug and provide the minimal reproduce step
SELECT last * from root.xx.yy where Time < 1756080000000 and Time > 1755910000000
时能正常查到数据
SELECT last * from root.xx.yy where Time < 1756080000000 and Time > 1755010000000
时间范围变化后,报错:
SQL 错误 [301]: 301: null
类似的
select last `y1`.*,y2.*
from root.xx where Time >= 1756080000000
能查到数据
select last `y1`.*,y2.*
from root.xx
不带条件报错:
SQL 错误 [305] [[INTERNAL_SERVER_ERROR(305)] Exception occurred: "select last `y1`.*,y2.*
from root.xx ". executeStatement failed. Index 4 out of bounds for length 4]: 305: [INTERNAL_SERVER_ERROR(305)] Exception occurred: "select last `y1`.*,y2.*
from root.xx ". executeStatement failed. Index 4 out of bounds for length 4
### What did you expect to see?
无论条件如何,语法没错,不应该报错。另外2.0.2版本没发现这个问题
### What did you see instead?
SQL 错误 [301]
SQL 错误 [305]
### Anything else?
_No response_
### Are you willing to submit a PR?
- [ ] I'm willing to submit a PR!
Contributor guide
Research direction
Start by reproducing the two SELECT last queries on IoTDB 2.0.5, then compare their behavior with version 2.0.2. Trace the query path that produces errors 301 and 305, including the reported index-out-of-bounds failure; done means both query forms execute successfully across the stated time ranges and without conditions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, sql
- Domain
- databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100