Commit 820da3e
committed
fix(calcite): Default SQL aggregate window frame to running window
Aggregate window functions with ORDER BY but no explicit frame
defaulted to the whole partition, so COUNT(DISTINCT x) OVER(ORDER BY y)
returned the total for every row instead of a running count. Default to
ROWS UNBOUNDED PRECEDING .. CURRENT ROW for aggregates in the SQL parser
(ranking functions ignore frames), and add equals/hashCode to
CurrentRowWindowBound. PPL windows carry no ORDER BY, so are unaffected.
Signed-off-by: Chen Dai <daichen@amazon.com>1 parent cf14aba commit 820da3e
4 files changed
Lines changed: 55 additions & 5 deletions
File tree
- api/src/test/java/org/opensearch/sql/api
- core/src/main/java/org/opensearch/sql/ast/expression
- sql/src
- main/java/org/opensearch/sql/sql/parser
- test/java/org/opensearch/sql/sql/parser
Lines changed: 26 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
424 | 424 | | |
425 | 425 | | |
426 | 426 | | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
427 | 453 | | |
428 | 454 | | |
429 | 455 | | |
| |||
Lines changed: 10 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
31 | 41 | | |
32 | 42 | | |
33 | 43 | | |
| |||
Lines changed: 10 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
222 | 222 | | |
223 | 223 | | |
224 | 224 | | |
225 | | - | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
226 | 235 | | |
227 | 236 | | |
228 | 237 | | |
| |||
Lines changed: 9 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
| 47 | + | |
| 48 | + | |
47 | 49 | | |
48 | 50 | | |
49 | 51 | | |
| |||
308 | 310 | | |
309 | 311 | | |
310 | 312 | | |
311 | | - | |
312 | | - | |
| 313 | + | |
| 314 | + | |
313 | 315 | | |
314 | 316 | | |
315 | | - | |
316 | | - | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
317 | 322 | | |
318 | 323 | | |
319 | 324 | | |
| |||
0 commit comments