4
CREATE TABLE RELTIME_TBL (f1 reltime);
5
INSERT INTO RELTIME_TBL (f1) VALUES ('@ 1 minute');
6
INSERT INTO RELTIME_TBL (f1) VALUES ('@ 5 hour');
7
INSERT INTO RELTIME_TBL (f1) VALUES ('@ 10 day');
8
INSERT INTO RELTIME_TBL (f1) VALUES ('@ 34 year');
9
INSERT INTO RELTIME_TBL (f1) VALUES ('@ 3 months');
10
INSERT INTO RELTIME_TBL (f1) VALUES ('@ 14 seconds ago');
11
-- badly formatted reltimes
12
INSERT INTO RELTIME_TBL (f1) VALUES ('badly formatted reltime');
13
ERROR: invalid input syntax for type reltime: "badly formatted reltime"
14
INSERT INTO RELTIME_TBL (f1) VALUES ('@ 30 eons ago');
15
ERROR: invalid input syntax for type reltime: "@ 30 eons ago"
16
-- test reltime operators
17
SELECT '' AS six, RELTIME_TBL.*;
28
SELECT '' AS five, RELTIME_TBL.*
29
WHERE RELTIME_TBL.f1 <> reltime '@ 10 days';
31
------+---------------
39
SELECT '' AS three, RELTIME_TBL.*
40
WHERE RELTIME_TBL.f1 <= reltime '@ 5 hours';
42
-------+---------------
48
SELECT '' AS three, RELTIME_TBL.*
49
WHERE RELTIME_TBL.f1 < reltime '@ 1 day';
51
-------+---------------
57
SELECT '' AS one, RELTIME_TBL.*
58
WHERE RELTIME_TBL.f1 = reltime '@ 34 years';
64
SELECT '' AS two, RELTIME_TBL.*
65
WHERE RELTIME_TBL.f1 >= reltime '@ 1 month';
72
SELECT '' AS five, RELTIME_TBL.*
73
WHERE RELTIME_TBL.f1 > reltime '@ 3 seconds ago';
83
SELECT '' AS fifteen, r1.*, r2.*
84
FROM RELTIME_TBL r1, RELTIME_TBL r2
86
ORDER BY r1.f1, r2.f1;
88
---------+------------+---------------
89
| @ 1 min | @ 14 secs ago
90
| @ 5 hours | @ 14 secs ago
92
| @ 10 days | @ 14 secs ago
94
| @ 10 days | @ 5 hours
95
| @ 3 mons | @ 14 secs ago
97
| @ 3 mons | @ 5 hours
98
| @ 3 mons | @ 10 days
99
| @ 34 years | @ 14 secs ago
100
| @ 34 years | @ 1 min
101
| @ 34 years | @ 5 hours
102
| @ 34 years | @ 10 days
103
| @ 34 years | @ 3 mons