Commit 56dbf0c
committed
readyset-dataflow: window function initial support
Handle lowering from mir to dataflow and execution
of window function:
- Initial support for window functions (empty OVER, `PARTITION`s,
and `ORDER BY`)
- Handle NULLS in Window Functions
- In non-cumulative windows (no `ORDER BY`), since any change
is likely to change the values of the entire partition, we send
-ve diffs of the partition (not the entire window), process
the changes, then send +ve diffs of the partition.
- In cumulative windows, we merge the sorted partition
and the changes, then send partition diffs after the earliest
change. This means that, for example, appending a row to the end
of a partition will only send one +ve diff and no -ve diffs.
- More logictests
Fixes: REA-5790, REA-5791, REA-5794
Release-Note-Core: Readyset now supports Window Functions
following pattern `function OVER([PARTITION BY {expr, ..}]
[ORDER BY {expr, ..}])` where `function` is one of `COUNT`, `SUM`,
`AVG`, `RANK`, `DENSE_RANK`, `ROW_NUMBER`, `MIN`, or `MAX`.
Change-Id: I82aaa403dddaf5f3df23f0d0dc2cb4f753d9ce1b
Reviewed-on: https://gerrit.readyset.name/c/readyset/+/9691
Tested-by: Buildkite CI
Reviewed-by: Michael Zink <michael.z@readyset.io>1 parent c8159f2 commit 56dbf0c
File tree
14 files changed
+2527
-31
lines changed- logictests/sqlparser
- readyset-dataflow
- src
- node
- ops
- readyset-mir/src
- node
- readyset-mysql/tests
- readyset-server/src/controller
- sql
- mir
14 files changed
+2527
-31
lines changedSome generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments