apache / apache/iotdb

[Bug] 特定场景 SELECT last * from 语句报错

オープン
#16,249 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Java
スター
6.4k
フォーク
1.2k
平均マージ
1日 23時間
マージ済み PR(30日)
115

説明

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

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

まず IoTDB 2.0.5 で 2 つの SELECT last クエリを再現し、その後、バージョン 2.0.2 と動作を比較します。報告された index-out-of-bounds 失敗を含め、エラー 301 と 305 を発生させるクエリパスを追跡します。指定された時間範囲全体で、条件なしに両方のクエリ形式が正常に実行できれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java, sql
領域
databases
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
38/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。