Details
-
Sub-task
-
Status: Closed
-
Major
-
Resolution: Won't Do
-
1.2.0
-
None
-
None
Description
Add SessionRow row-windows for streaming tables as described in FLIP-11.
SessionRow row windows are a syntactic shortcut for a special type of SQL OVER windows, i.e., windows of the from (note this is not valid SQL):
SELECT STREAM rowtime,
productId,
units,
SUM(units) OVER (PARTITION BY sessionId(rowtime, INTERVAL '5' MINUTES) )) AS unitsSinceTopOfHour
FROM Orders;
i.e., OVER windows which are partitioned by a special function sessionId over the time attribute (the second argument defines the gap between sessions).
This issue is about extending the Table API with the SessionRow shortcut. It should reuse a lot of the OVER window translation and runtime code implemented by FLINK-5653, FLINK-5654, FLINK-5655, FLINK-5656, FLINK-5657, and FLINK-5658 but will likely require to add a special type of window boundary inside of Calcite to hold the session semantics.
Attachments
Issue Links
- requires
-
FLINK-5653 Add processing time OVER ROWS BETWEEN x PRECEDING aggregation to SQL
- Closed
-
FLINK-5654 Add processing time OVER RANGE BETWEEN x PRECEDING aggregation to SQL
- Closed
-
FLINK-5655 Add event time OVER RANGE BETWEEN x PRECEDING aggregation to SQL
- Closed
-
FLINK-5656 Add processing time OVER ROWS BETWEEN UNBOUNDED PRECEDING aggregation to SQL
- Closed
-
FLINK-5658 Add event time OVER ROWS BETWEEN UNBOUNDED PRECEDING aggregation to SQL
- Closed
-
FLINK-5657 Add processing time OVER RANGE BETWEEN UNBOUNDED PRECEDING aggregation to SQL
- Closed