@@ -46,15 +46,15 @@ INSERT INTO states_test_5 VALUES
46
46
Compute the amount of time spent in a state as INTERVAL.
47
47
48
48
``` SQL
49
- SELECT toolkit_experimental .duration_in (' ERROR' , toolkit_experimental .state_agg (ts, state)) FROM states_test;
49
+ SELECT toolkit_experimental .duration_in (' ERROR' , toolkit_experimental .compact_state_agg (ts, state)) FROM states_test;
50
50
```
51
51
``` output
52
52
interval
53
53
----------
54
54
00:00:03
55
55
```
56
56
``` SQL
57
- SELECT toolkit_experimental .duration_in (2 , toolkit_experimental .state_agg (ts, state)) FROM states_test_4;
57
+ SELECT toolkit_experimental .duration_in (2 , toolkit_experimental .compact_state_agg (ts, state)) FROM states_test_4;
58
58
```
59
59
``` output
60
60
interval
@@ -67,7 +67,7 @@ Extract as number of seconds:
67
67
``` SQL
68
68
SELECT
69
69
EXTRACT(epoch FROM
70
- toolkit_experimental .duration_in (' ERROR' , toolkit_experimental .state_agg (ts, state))
70
+ toolkit_experimental .duration_in (' ERROR' , toolkit_experimental .compact_state_agg (ts, state))
71
71
)::INTEGER
72
72
FROM states_test;
73
73
```
@@ -77,11 +77,71 @@ FROM states_test;
77
77
3
78
78
```
79
79
80
+ #### duration_in for a range
81
+ ``` SQL
82
+ SELECT toolkit_experimental .duration_in (' OK' , toolkit_experimental .state_agg (ts, state), ' 2020-01-01 00:01:00+00' , ' 2 days' ) FROM states_test;
83
+ ```
84
+ ``` output
85
+ duration_in
86
+ -------------
87
+ 00:00:57
88
+ ```
89
+ ``` SQL
90
+ SELECT toolkit_experimental .duration_in (' OK' , toolkit_experimental .state_agg (ts, state), ' 2020-01-01 00:01:00+00' , NULL ) FROM states_test;
91
+ ```
92
+ ``` output
93
+ duration_in
94
+ -------------
95
+ 00:00:57
96
+ ```
97
+ ``` SQL
98
+ SELECT toolkit_experimental .duration_in (' OK' , toolkit_experimental .state_agg (ts, state), ' 2020-01-01 00:01:00+00' ) FROM states_test;
99
+ ```
100
+ ``` output
101
+ duration_in
102
+ -------------
103
+ 00:00:57
104
+ ```
105
+ ``` SQL
106
+ SELECT toolkit_experimental .duration_in (51351 , toolkit_experimental .state_agg (ts, state), ' 2020-01-01 00:01:00+00' , ' 2 days' ) FROM states_test_4;
107
+ ```
108
+ ``` output
109
+ duration_in
110
+ -------------
111
+ 00:00:57
112
+ ```
113
+ ``` SQL
114
+ SELECT toolkit_experimental .duration_in (51351 , toolkit_experimental .state_agg (ts, state), ' 2020-01-01 00:01:00+00' , NULL ) FROM states_test_4;
115
+ ```
116
+ ``` output
117
+ duration_in
118
+ -------------
119
+ 00:00:57
120
+ ```
121
+
122
+ ``` SQL
123
+ SELECT toolkit_experimental .duration_in (' OK' , toolkit_experimental .state_agg (ts, state), ' 2020-01-01 00:00:15+00' , ' 30 seconds' ) FROM states_test;
124
+ ```
125
+ ``` output
126
+ duration_in
127
+ -------------
128
+ 00:00:30
129
+ ```
130
+
131
+ ``` SQL
132
+ SELECT toolkit_experimental .duration_in (' OK' , toolkit_experimental .state_agg (ts, state), ' 2020-01-01 00:00:15+00' , ' 1 minute 1 second' ) FROM states_test;
133
+ ```
134
+ ``` output
135
+ duration_in
136
+ -------------
137
+ 00:00:58
138
+ ```
139
+
80
140
### into_values
81
141
82
142
``` SQL
83
143
SELECT state, duration FROM toolkit_experimental .into_values (
84
- (SELECT toolkit_experimental .state_agg (ts, state) FROM states_test))
144
+ (SELECT toolkit_experimental .compact_state_agg (ts, state) FROM states_test))
85
145
ORDER BY state, duration;
86
146
```
87
147
``` output
@@ -94,7 +154,7 @@ SELECT state, duration FROM toolkit_experimental.into_values(
94
154
```
95
155
``` SQL
96
156
SELECT state, duration FROM toolkit_experimental .into_int_values (
97
- (SELECT toolkit_experimental .state_agg (ts, state) FROM states_test_4))
157
+ (SELECT toolkit_experimental .compact_state_agg (ts, state) FROM states_test_4))
98
158
ORDER BY state, duration;
99
159
```
100
160
``` output
@@ -110,7 +170,7 @@ SELECT state, duration FROM toolkit_experimental.into_int_values(
110
170
111
171
``` SQL
112
172
SELECT state, start_time, end_time FROM toolkit_experimental .state_timeline (
113
- (SELECT toolkit_experimental .timeline_agg (ts, state) FROM states_test))
173
+ (SELECT toolkit_experimental .state_agg (ts, state) FROM states_test))
114
174
ORDER BY start_time;
115
175
```
116
176
``` output
@@ -125,7 +185,7 @@ ERROR | 2020-01-01 00:01:00+00 | 2020-01-01 00:01:03+00
125
185
126
186
``` SQL
127
187
SELECT state, start_time, end_time FROM toolkit_experimental .state_int_timeline (
128
- (SELECT toolkit_experimental .timeline_agg (ts, state) FROM states_test_4))
188
+ (SELECT toolkit_experimental .state_agg (ts, state) FROM states_test_4))
129
189
ORDER BY start_time;
130
190
```
131
191
``` output
@@ -141,7 +201,7 @@ state | start_time | end_time
141
201
142
202
``` SQL
143
203
SELECT state, start_time, end_time FROM toolkit_experimental .state_timeline (
144
- (SELECT toolkit_experimental .timeline_agg (ts, state) FROM states_test_2))
204
+ (SELECT toolkit_experimental .state_agg (ts, state) FROM states_test_2))
145
205
ORDER BY start_time;
146
206
```
147
207
``` output
@@ -158,7 +218,7 @@ START | 2019-12-31 00:00:00+00 | 2019-12-31 00:00:11+00
158
218
SELECT start_time, end_time
159
219
FROM toolkit_experimental .state_periods (
160
220
' OK' ,
161
- (SELECT toolkit_experimental .timeline_agg (ts, state) FROM states_test)
221
+ (SELECT toolkit_experimental .state_agg (ts, state) FROM states_test)
162
222
)
163
223
ORDER BY start_time;
164
224
```
@@ -173,7 +233,7 @@ start_time | end_time
173
233
SELECT start_time, end_time
174
234
FROM toolkit_experimental .state_periods (
175
235
51351 ,
176
- (SELECT toolkit_experimental .timeline_agg (ts, state) FROM states_test_4)
236
+ (SELECT toolkit_experimental .state_agg (ts, state) FROM states_test_4)
177
237
)
178
238
ORDER BY start_time;
179
239
```
@@ -188,7 +248,7 @@ start_time | end_time
188
248
SELECT start_time, end_time
189
249
FROM toolkit_experimental .state_periods (
190
250
' ANYTHING' ,
191
- (SELECT toolkit_experimental .timeline_agg (ts, state) FROM states_test)
251
+ (SELECT toolkit_experimental .state_agg (ts, state) FROM states_test)
192
252
)
193
253
ORDER BY start_time;
194
254
```
@@ -201,10 +261,9 @@ start_time | end_time
201
261
202
262
``` SQL
203
263
SELECT state, start_time, end_time FROM toolkit_experimental .interpolated_state_timeline (
204
- (SELECT toolkit_experimental .timeline_agg (ts, state) FROM states_test),
264
+ (SELECT toolkit_experimental .state_agg (ts, state) FROM states_test),
205
265
' 2019-12-31' , ' 1 days' ,
206
- (SELECT toolkit_experimental .timeline_agg (ts, state) FROM states_test_3),
207
- (SELECT toolkit_experimental .timeline_agg (ts, state) FROM states_test_3)
266
+ (SELECT toolkit_experimental .state_agg (ts, state) FROM states_test_3)
208
267
)
209
268
ORDER BY start_time;
210
269
```
@@ -220,10 +279,9 @@ ERROR | 2020-01-01 00:01:00+00 | 2020-01-01 00:01:03+00
220
279
221
280
``` SQL
222
281
SELECT state, start_time, end_time FROM toolkit_experimental .interpolated_state_timeline (
223
- (SELECT toolkit_experimental .timeline_agg (ts, state) FROM states_test),
282
+ (SELECT toolkit_experimental .state_agg (ts, state) FROM states_test),
224
283
' 2019-12-31' , ' 5 days' ,
225
- (SELECT toolkit_experimental .timeline_agg (ts, state) FROM states_test_3),
226
- (SELECT toolkit_experimental .timeline_agg (ts, state) FROM states_test_3)
284
+ (SELECT toolkit_experimental .state_agg (ts, state) FROM states_test_3)
227
285
)
228
286
ORDER BY start_time;
229
287
```
@@ -239,10 +297,9 @@ ERROR | 2020-01-01 00:01:00+00 | 2020-01-01 00:01:03+00
239
297
240
298
``` SQL
241
299
SELECT state, start_time, end_time FROM toolkit_experimental .interpolated_state_timeline (
242
- (SELECT toolkit_experimental .timeline_agg (ts, state) FROM states_test),
300
+ (SELECT toolkit_experimental .state_agg (ts, state) FROM states_test),
243
301
' 2019-12-31' , ' 1 days' ,
244
- (SELECT toolkit_experimental .timeline_agg (ts, state) FROM states_test_2),
245
- (SELECT toolkit_experimental .timeline_agg (ts, state) FROM states_test_2)
302
+ (SELECT toolkit_experimental .state_agg (ts, state) FROM states_test_2)
246
303
)
247
304
ORDER BY start_time;
248
305
```
@@ -259,10 +316,9 @@ ERROR | 2020-01-01 00:01:00+00 | 2020-01-01 00:01:03+00
259
316
260
317
``` SQL
261
318
SELECT state, start_time, end_time FROM toolkit_experimental .interpolated_state_timeline (
262
- (SELECT toolkit_experimental .timeline_agg (ts, state) FROM states_test),
319
+ (SELECT toolkit_experimental .state_agg (ts, state) FROM states_test),
263
320
' 2019-12-31' , ' 5 days' ,
264
- (SELECT toolkit_experimental .timeline_agg (ts, state) FROM states_test_2),
265
- (SELECT toolkit_experimental .timeline_agg (ts, state) FROM states_test_2)
321
+ (SELECT toolkit_experimental .state_agg (ts, state) FROM states_test_2)
266
322
)
267
323
ORDER BY start_time;
268
324
```
@@ -283,10 +339,9 @@ ERROR | 2020-01-01 00:01:00+00 | 2020-01-01 00:01:03+00
283
339
``` SQL
284
340
SELECT start_time, end_time FROM toolkit_experimental .interpolated_state_periods (
285
341
' OK' ,
286
- (SELECT toolkit_experimental .timeline_agg (ts, state) FROM states_test),
342
+ (SELECT toolkit_experimental .state_agg (ts, state) FROM states_test),
287
343
' 2019-12-31' , ' 1 days' ,
288
- (SELECT toolkit_experimental .timeline_agg (ts, state) FROM states_test_3),
289
- (SELECT toolkit_experimental .timeline_agg (ts, state) FROM states_test_3)
344
+ (SELECT toolkit_experimental .state_agg (ts, state) FROM states_test_3)
290
345
)
291
346
ORDER BY start_time;
292
347
```
@@ -300,10 +355,9 @@ start_time | end_time
300
355
``` SQL
301
356
SELECT start_time, end_time FROM toolkit_experimental .interpolated_state_periods (
302
357
' START' ,
303
- (SELECT toolkit_experimental .timeline_agg (ts, state) FROM states_test),
358
+ (SELECT toolkit_experimental .state_agg (ts, state) FROM states_test),
304
359
' 2019-12-31' , ' 5 days' ,
305
- (SELECT toolkit_experimental .timeline_agg (ts, state) FROM states_test_3),
306
- (SELECT toolkit_experimental .timeline_agg (ts, state) FROM states_test_3)
360
+ (SELECT toolkit_experimental .state_agg (ts, state) FROM states_test_3)
307
361
)
308
362
ORDER BY start_time;
309
363
```
@@ -316,10 +370,9 @@ start_time | end_time
316
370
``` SQL
317
371
SELECT start_time, end_time FROM toolkit_experimental .interpolated_state_periods (
318
372
' STOP' ,
319
- (SELECT toolkit_experimental .timeline_agg (ts, state) FROM states_test),
373
+ (SELECT toolkit_experimental .state_agg (ts, state) FROM states_test),
320
374
' 2019-12-31' , ' 1 days' ,
321
- (SELECT toolkit_experimental .timeline_agg (ts, state) FROM states_test_2),
322
- (SELECT toolkit_experimental .timeline_agg (ts, state) FROM states_test_2)
375
+ (SELECT toolkit_experimental .state_agg (ts, state) FROM states_test_2)
323
376
)
324
377
ORDER BY start_time;
325
378
```
@@ -333,10 +386,9 @@ start_time | end_time
333
386
``` SQL
334
387
SELECT start_time, end_time FROM toolkit_experimental .interpolated_state_periods (
335
388
' STOP' ,
336
- (SELECT toolkit_experimental .timeline_agg (ts, state) FROM states_test),
389
+ (SELECT toolkit_experimental .state_agg (ts, state) FROM states_test),
337
390
' 2019-12-31' , ' 5 days' ,
338
- (SELECT toolkit_experimental .timeline_agg (ts, state) FROM states_test_2),
339
- (SELECT toolkit_experimental .timeline_agg (ts, state) FROM states_test_2)
391
+ (SELECT toolkit_experimental .state_agg (ts, state) FROM states_test_2)
340
392
)
341
393
ORDER BY start_time;
342
394
```
@@ -352,7 +404,7 @@ start_time | end_time
352
404
``` SQL
353
405
WITH buckets AS (SELECT
354
406
date_trunc(' minute' , ts) as dt,
355
- toolkit_experimental .state_agg (ts, state) AS sa
407
+ toolkit_experimental .compact_state_agg (ts, state) AS sa
356
408
FROM states_test
357
409
GROUP BY date_trunc(' minute' , ts))
358
410
SELECT toolkit_experimental .duration_in (
@@ -370,7 +422,7 @@ FROM buckets;
370
422
``` SQL
371
423
WITH buckets AS (SELECT
372
424
date_trunc(' minute' , ts) as dt,
373
- toolkit_experimental .state_agg (ts, state) AS sa
425
+ toolkit_experimental .compact_state_agg (ts, state) AS sa
374
426
FROM states_test
375
427
GROUP BY date_trunc(' minute' , ts))
376
428
SELECT toolkit_experimental .duration_in (
@@ -388,7 +440,7 @@ FROM buckets;
388
440
``` SQL
389
441
WITH buckets AS (SELECT
390
442
date_trunc(' minute' , ts) as dt,
391
- toolkit_experimental .timeline_agg (ts, state) AS sa
443
+ toolkit_experimental .state_agg (ts, state) AS sa
392
444
FROM states_test
393
445
GROUP BY date_trunc(' minute' , ts))
394
446
SELECT toolkit_experimental .state_timeline (
@@ -409,7 +461,7 @@ FROM buckets;
409
461
``` SQL
410
462
WITH buckets AS (SELECT
411
463
date_trunc(' minute' , ts) as dt,
412
- toolkit_experimental .timeline_agg (ts, state) AS sa
464
+ toolkit_experimental .state_agg (ts, state) AS sa
413
465
FROM states_test
414
466
GROUP BY date_trunc(' minute' , ts)
415
467
HAVING date_trunc(' minute' , ts) != ' 2020-01-01 00:01:00+00' ::timestamptz )
@@ -429,7 +481,7 @@ FROM buckets;
429
481
``` SQL
430
482
WITH buckets AS (SELECT
431
483
date_trunc(' minute' , ts) as dt,
432
- toolkit_experimental .timeline_agg (ts, state) AS sa
484
+ toolkit_experimental .state_agg (ts, state) AS sa
433
485
FROM states_test_5
434
486
GROUP BY date_trunc(' minute' , ts)
435
487
HAVING date_trunc(' minute' , ts) != ' 2020-01-01 00:01:00+00' ::timestamptz )
0 commit comments