Rui Wang created CALCITE-3272: --------------------------------- Summary: TUMBLE Table Value Function Key: CALCITE-3272 URL: https://issues.apache.org/jira/browse/CALCITE-3272 Project: Calcite Issue Type: Sub-task Reporter: Rui Wang
Define a builtin TVF: Tumble (data , timecol , dur, [ offset ]) The return value of Tumble is a relation that includes all columns of data as well as additional event time columns wstart and wend. Examples of TUMBLE TVF are (from https://s.apache.org/streaming-beam-sql): 8:21> SELECT * FROM Bid; -------------------------- | bidtime | price | item | -------------------------- | 8:07 | $2 | A | | 8:11 | $3 | B | | 8:05 | $4 | C | | 8:09 | $5 | D | | 8:13 | $1 | E | | 8:17 | $6 | F | -------------------------- 8:21> SELECT * FROM Tumble ( data => TABLE Bid , timecol => DESCRIPTOR ( bidtime ) , dur => INTERVAL '10' MINUTES , offset => INTERVAL '0' MINUTES ); ------------------------------------------ | wstart | wend | bidtime | price | item | ------------------------------------------ | 8:00 | 8:10 | 8:07 | $2 | A | | 8:10 | 8:20 | 8:11 | $3 | B | | 8:00 | 8:10 | 8:05 | $4 | C | | 8:00 | 8:10 | 8:09 | $5 | D | | 8:10 | 8:20 | 8:13 | $1 | E | | 8:10 | 8:20 | 8:17 | $6 | F | ------------------------------------------ 8:21> SELECT MAX ( wstart ) , wend , SUM ( price ) FROM Tumble ( data => TABLE ( Bid ) , timecol => DESCRIPTOR ( bidtime ) , dur => INTERVAL '10 ' MINUTES ) GROUP BY wend; ------------------------- | wstart | wend | price | ------------------------- | 8:00 | 8:10 | $11 | | 8:10 | 8:20 | $10 | ------------------------- -- This message was sent by Atlassian Jira (v8.3.2#803003)