4paradigm / 4paradigm/OpenMLDB

When window is open, ts=0, calculation error

オープン
#2,213 コメント 0 件 リアクション 0 件 担当者 1 名 @aceforeverd が担当を希望しています GitHub で見る
bug execute-engine
主要言語
C++
スター
1.7k
フォーク
331
平均マージ
12日 12時間
マージ済み PR(30日)
1

説明

**Bug Description**

When window is open, ts=0, calculation error
+ case
```yaml
- id: 1
desc: ts列的值为0
inputs:
- columns: [ "c1 string","c3 int","c4 bigint","c5 float","c6 double","c7 timestamp","c8 date" ]
indexs: [ "index1:c1:c7" ]
rows:
- [ "aa",20,30,1.1,2.1,0,"2020-05-01" ]
- [ "aa",21,31,1.2,2.2,0,"2020-05-02" ]
- [ "aa",22,32,1.3,2.3,1590738992000,"2020-05-03" ]
- [ "aa",23,33,1.4,2.4,1590738993000,"2020-05-04" ]
- [ "bb",24,34,1.5,2.5,1590738994000,"2020-05-05" ]
sql: |
SELECT c1, c3, sum(c4) OVER w1 as w1_c4_sum FROM {0} WINDOW w1 AS (PARTITION BY {0}.c1 ORDER BY {0}.c7 ROWS_RANGE BETWEEN 2s PRECEDING AND 0s OPEN PRECEDING EXCLUDE CURRENT_TIME);
expect:
order: c3
columns: [ "c1 string","c3 int","w1_c4_sum bigint" ]
rows:
- [ "aa",20,null ]
- [ "aa",21,null ]
- [ "aa",22,null ]
- [ "aa",23,32 ]
- [ "bb",24,null ]
```

**Expected Behavior**
![05980f468cc4b1f1242927164e42f33f](https://user-images.githubusercontent.com/18275570/180155193-67c28cb3-b739-4df4-a964-2a2454a8ebef.png)

**Relation Case**
test_current_row.yaml id:13

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

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

調査の方向性

The issue includes a failing YAML test case for a window function with ts=0. Look at the test file 'test_current_row.yaml' id:13 and the related SQL execution logic for window aggregation. The bug likely involves timestamp handling in the window frame calculation when the timestamp is zero. Start by running the provided test case to reproduce the error, then examine the window function implementation in the C++ codebase.

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

評価

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

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

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