Pablo Estrada created CALCITE-3472:
--------------------------------------

             Summary: SESSION_END returns same value as SESSION_START
                 Key: CALCITE-3472
                 URL: https://issues.apache.org/jira/browse/CALCITE-3472
             Project: Calcite
          Issue Type: Improvement
          Components: stream
            Reporter: Pablo Estrada


We've found that the session_end function seems to be returning the same values 
as session_start. Furthermore, it seems that they may have the same 
implementation, though I'm not fully familiar with the code:

 

[https://github.com/apache/calcite/blob/d7946a94adfd2e788f5d324910944dd65dab11ee/core/src/main/java/org/apache/calcite/sql2rel/AuxiliaryConverter.java#L50-L68]

 

An example with Beam SQL:

 

0: BeamSQL> SELECT 
 SESSION_START(scores_stream.event_time, INTERVAL '1' SECOND), 
 SESSION_END(scores_stream.event_time, INTERVAL '1' SECOND), 
 scores_stream.team, 
 SUM(scores_stream.score),
 COUNT(*)
FROM 
 scores_stream 
GROUP BY scores_stream.team, 
 SESSION(scores_stream.event_time, INTERVAL '1' SECOND) LIMIT 3;SELECT 
. . . . . > SESSION_START(scores_stream.event_time, INTERVAL '1' SECOND), 
. . . . . > SESSION_END(scores_stream.event_time, INTERVAL '1' SECOND), 
. . . . . > scores_stream.team, 
. . . . . > SUM(scores_stream.score),
. . . . . > COUNT(*)
. . . . . > FROM 
. . . . . > scores_stream 
. . . . . > GROUP BY scores_stream.team, 
. . . . . > 
T 3; SESSION(scores_stream.event_time, INTERVAL '1' SECOND) LIMI 
+--------+--------+------+------------+---------------------+
| EXPR$0 | EXPR$1 | team | EXPR$3 | EXPR$4 |
+--------+--------+------+------------+---------------------+
| 2019-11-04 04:11:38 | 2019-11-04 04:11:38 | blue | 420 | 7 |
| 2019-11-04 04:11:38 | 2019-11-04 04:11:38 | red | 960 | 18 |
| 2019-11-04 04:11:42 | 2019-11-04 04:11:42 | blue | 452 | 11 |
+--------+--------+------+------------+---------------------+
3 rows selected (9.197 seconds)
0: BeamSQL>



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to