You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Rui Wang (Jira)" <ji...@apache.org> on 2019/08/21 03:57:00 UTC

[jira] [Created] (CALCITE-3272) TUMBLE Table Value Function

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)