4paradigm / 4paradigm/OpenMLDB
When window is open, ts=0, calculation error
- Dominant language
- C++
- Stars
- 1.7k
- Forks
- 331
- Avg merge
- 12d 12h
- Merged PRs (30d)
- 1
Description
**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**

**Relation Case**
test_current_row.yaml id:13
Contributor guide
Research direction
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.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- sql
- Domain
- databases, machine-learning
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 40/100