2000-01-05 07:06:23 +01:00
|
|
|
--
|
All regression tests pass except for rules.sql (unrelated).
Implement "date/time grand unification".
Transform datetime and timespan into timestamp and interval.
Deprecate datetime and timespan, though translate to new types in gram.y.
Transform all datetime and timespan catalog entries into new types.
Make "INTERVAL" reserved word allowed as a column identifier in gram.y.
Remove dt.h, dt.c files, and retarget datetime.h, datetime.c as utility
routines for all date/time types.
date.{h,c} now deals with date, time types.
timestamp.{h,c} now deals with timestamp, interval types.
nabstime.{h,c} now deals with abstime, reltime, tinterval types.
Make NUMERIC a known native type for purposes of type coersion. Not tested.
2000-02-16 18:27:27 +01:00
|
|
|
-- INTERVAL
|
2000-01-05 07:06:23 +01:00
|
|
|
--
|
All regression tests pass except for rules.sql (unrelated).
Implement "date/time grand unification".
Transform datetime and timespan into timestamp and interval.
Deprecate datetime and timespan, though translate to new types in gram.y.
Transform all datetime and timespan catalog entries into new types.
Make "INTERVAL" reserved word allowed as a column identifier in gram.y.
Remove dt.h, dt.c files, and retarget datetime.h, datetime.c as utility
routines for all date/time types.
date.{h,c} now deals with date, time types.
timestamp.{h,c} now deals with timestamp, interval types.
nabstime.{h,c} now deals with abstime, reltime, tinterval types.
Make NUMERIC a known native type for purposes of type coersion. Not tested.
2000-02-16 18:27:27 +01:00
|
|
|
CREATE TABLE INTERVAL_TBL (f1 interval);
|
|
|
|
INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 1 minute');
|
|
|
|
INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 5 hour');
|
|
|
|
INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 10 day');
|
|
|
|
INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 34 year');
|
|
|
|
INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 3 months');
|
|
|
|
INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 14 seconds ago');
|
|
|
|
INSERT INTO INTERVAL_TBL (f1) VALUES ('1 day 2 hours 3 minutes 4 seconds');
|
|
|
|
INSERT INTO INTERVAL_TBL (f1) VALUES ('6 years');
|
|
|
|
INSERT INTO INTERVAL_TBL (f1) VALUES ('5 months');
|
|
|
|
INSERT INTO INTERVAL_TBL (f1) VALUES ('5 months 12 hours');
|
|
|
|
-- badly formatted interval
|
|
|
|
INSERT INTO INTERVAL_TBL (f1) VALUES ('badly formatted interval');
|
|
|
|
ERROR: Bad interval external representation 'badly formatted interval'
|
|
|
|
INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 30 eons ago');
|
|
|
|
ERROR: Bad interval external representation '@ 30 eons ago'
|
|
|
|
-- test interval operators
|
|
|
|
SELECT '' AS ten, INTERVAL_TBL.*;
|
2000-01-05 07:06:23 +01:00
|
|
|
ten | f1
|
|
|
|
-----+-------------------------------
|
|
|
|
| @ 1 min
|
|
|
|
| @ 5 hours
|
|
|
|
| @ 10 days
|
|
|
|
| @ 34 years
|
|
|
|
| @ 3 mons
|
|
|
|
| @ 14 secs ago
|
|
|
|
| @ 1 day 2 hours 3 mins 4 secs
|
|
|
|
| @ 6 years
|
|
|
|
| @ 5 mons
|
|
|
|
| @ 5 mons 12 hours
|
1997-04-27 05:57:34 +02:00
|
|
|
(10 rows)
|
|
|
|
|
All regression tests pass except for rules.sql (unrelated).
Implement "date/time grand unification".
Transform datetime and timespan into timestamp and interval.
Deprecate datetime and timespan, though translate to new types in gram.y.
Transform all datetime and timespan catalog entries into new types.
Make "INTERVAL" reserved word allowed as a column identifier in gram.y.
Remove dt.h, dt.c files, and retarget datetime.h, datetime.c as utility
routines for all date/time types.
date.{h,c} now deals with date, time types.
timestamp.{h,c} now deals with timestamp, interval types.
nabstime.{h,c} now deals with abstime, reltime, tinterval types.
Make NUMERIC a known native type for purposes of type coersion. Not tested.
2000-02-16 18:27:27 +01:00
|
|
|
SELECT '' AS nine, INTERVAL_TBL.*
|
|
|
|
WHERE INTERVAL_TBL.f1 <> interval '@ 10 days';
|
2000-01-05 07:06:23 +01:00
|
|
|
nine | f1
|
|
|
|
------+-------------------------------
|
|
|
|
| @ 1 min
|
|
|
|
| @ 5 hours
|
|
|
|
| @ 34 years
|
|
|
|
| @ 3 mons
|
|
|
|
| @ 14 secs ago
|
|
|
|
| @ 1 day 2 hours 3 mins 4 secs
|
|
|
|
| @ 6 years
|
|
|
|
| @ 5 mons
|
|
|
|
| @ 5 mons 12 hours
|
1997-04-27 05:57:34 +02:00
|
|
|
(9 rows)
|
|
|
|
|
All regression tests pass except for rules.sql (unrelated).
Implement "date/time grand unification".
Transform datetime and timespan into timestamp and interval.
Deprecate datetime and timespan, though translate to new types in gram.y.
Transform all datetime and timespan catalog entries into new types.
Make "INTERVAL" reserved word allowed as a column identifier in gram.y.
Remove dt.h, dt.c files, and retarget datetime.h, datetime.c as utility
routines for all date/time types.
date.{h,c} now deals with date, time types.
timestamp.{h,c} now deals with timestamp, interval types.
nabstime.{h,c} now deals with abstime, reltime, tinterval types.
Make NUMERIC a known native type for purposes of type coersion. Not tested.
2000-02-16 18:27:27 +01:00
|
|
|
SELECT '' AS three, INTERVAL_TBL.*
|
|
|
|
WHERE INTERVAL_TBL.f1 <= interval '@ 5 hours';
|
2000-01-05 07:06:23 +01:00
|
|
|
three | f1
|
|
|
|
-------+---------------
|
|
|
|
| @ 1 min
|
|
|
|
| @ 5 hours
|
|
|
|
| @ 14 secs ago
|
1997-04-27 05:57:34 +02:00
|
|
|
(3 rows)
|
|
|
|
|
All regression tests pass except for rules.sql (unrelated).
Implement "date/time grand unification".
Transform datetime and timespan into timestamp and interval.
Deprecate datetime and timespan, though translate to new types in gram.y.
Transform all datetime and timespan catalog entries into new types.
Make "INTERVAL" reserved word allowed as a column identifier in gram.y.
Remove dt.h, dt.c files, and retarget datetime.h, datetime.c as utility
routines for all date/time types.
date.{h,c} now deals with date, time types.
timestamp.{h,c} now deals with timestamp, interval types.
nabstime.{h,c} now deals with abstime, reltime, tinterval types.
Make NUMERIC a known native type for purposes of type coersion. Not tested.
2000-02-16 18:27:27 +01:00
|
|
|
SELECT '' AS three, INTERVAL_TBL.*
|
|
|
|
WHERE INTERVAL_TBL.f1 < interval '@ 1 day';
|
2000-01-05 07:06:23 +01:00
|
|
|
three | f1
|
|
|
|
-------+---------------
|
|
|
|
| @ 1 min
|
|
|
|
| @ 5 hours
|
|
|
|
| @ 14 secs ago
|
1997-04-27 05:57:34 +02:00
|
|
|
(3 rows)
|
|
|
|
|
All regression tests pass except for rules.sql (unrelated).
Implement "date/time grand unification".
Transform datetime and timespan into timestamp and interval.
Deprecate datetime and timespan, though translate to new types in gram.y.
Transform all datetime and timespan catalog entries into new types.
Make "INTERVAL" reserved word allowed as a column identifier in gram.y.
Remove dt.h, dt.c files, and retarget datetime.h, datetime.c as utility
routines for all date/time types.
date.{h,c} now deals with date, time types.
timestamp.{h,c} now deals with timestamp, interval types.
nabstime.{h,c} now deals with abstime, reltime, tinterval types.
Make NUMERIC a known native type for purposes of type coersion. Not tested.
2000-02-16 18:27:27 +01:00
|
|
|
SELECT '' AS one, INTERVAL_TBL.*
|
|
|
|
WHERE INTERVAL_TBL.f1 = interval '@ 34 years';
|
2000-01-05 07:06:23 +01:00
|
|
|
one | f1
|
|
|
|
-----+------------
|
|
|
|
| @ 34 years
|
1997-04-27 05:57:34 +02:00
|
|
|
(1 row)
|
|
|
|
|
All regression tests pass except for rules.sql (unrelated).
Implement "date/time grand unification".
Transform datetime and timespan into timestamp and interval.
Deprecate datetime and timespan, though translate to new types in gram.y.
Transform all datetime and timespan catalog entries into new types.
Make "INTERVAL" reserved word allowed as a column identifier in gram.y.
Remove dt.h, dt.c files, and retarget datetime.h, datetime.c as utility
routines for all date/time types.
date.{h,c} now deals with date, time types.
timestamp.{h,c} now deals with timestamp, interval types.
nabstime.{h,c} now deals with abstime, reltime, tinterval types.
Make NUMERIC a known native type for purposes of type coersion. Not tested.
2000-02-16 18:27:27 +01:00
|
|
|
SELECT '' AS five, INTERVAL_TBL.*
|
|
|
|
WHERE INTERVAL_TBL.f1 >= interval '@ 1 month';
|
2000-01-05 07:06:23 +01:00
|
|
|
five | f1
|
|
|
|
------+-------------------
|
|
|
|
| @ 34 years
|
|
|
|
| @ 3 mons
|
|
|
|
| @ 6 years
|
|
|
|
| @ 5 mons
|
|
|
|
| @ 5 mons 12 hours
|
1997-04-27 05:57:34 +02:00
|
|
|
(5 rows)
|
|
|
|
|
All regression tests pass except for rules.sql (unrelated).
Implement "date/time grand unification".
Transform datetime and timespan into timestamp and interval.
Deprecate datetime and timespan, though translate to new types in gram.y.
Transform all datetime and timespan catalog entries into new types.
Make "INTERVAL" reserved word allowed as a column identifier in gram.y.
Remove dt.h, dt.c files, and retarget datetime.h, datetime.c as utility
routines for all date/time types.
date.{h,c} now deals with date, time types.
timestamp.{h,c} now deals with timestamp, interval types.
nabstime.{h,c} now deals with abstime, reltime, tinterval types.
Make NUMERIC a known native type for purposes of type coersion. Not tested.
2000-02-16 18:27:27 +01:00
|
|
|
SELECT '' AS nine, INTERVAL_TBL.*
|
|
|
|
WHERE INTERVAL_TBL.f1 > interval '@ 3 seconds ago';
|
2000-01-05 07:06:23 +01:00
|
|
|
nine | f1
|
|
|
|
------+-------------------------------
|
|
|
|
| @ 1 min
|
|
|
|
| @ 5 hours
|
|
|
|
| @ 10 days
|
|
|
|
| @ 34 years
|
|
|
|
| @ 3 mons
|
|
|
|
| @ 1 day 2 hours 3 mins 4 secs
|
|
|
|
| @ 6 years
|
|
|
|
| @ 5 mons
|
|
|
|
| @ 5 mons 12 hours
|
1997-04-27 05:57:34 +02:00
|
|
|
(9 rows)
|
|
|
|
|
2000-01-05 07:06:23 +01:00
|
|
|
SELECT '' AS fortyfive, r1.*, r2.*
|
All regression tests pass except for rules.sql (unrelated).
Implement "date/time grand unification".
Transform datetime and timespan into timestamp and interval.
Deprecate datetime and timespan, though translate to new types in gram.y.
Transform all datetime and timespan catalog entries into new types.
Make "INTERVAL" reserved word allowed as a column identifier in gram.y.
Remove dt.h, dt.c files, and retarget datetime.h, datetime.c as utility
routines for all date/time types.
date.{h,c} now deals with date, time types.
timestamp.{h,c} now deals with timestamp, interval types.
nabstime.{h,c} now deals with abstime, reltime, tinterval types.
Make NUMERIC a known native type for purposes of type coersion. Not tested.
2000-02-16 18:27:27 +01:00
|
|
|
FROM INTERVAL_TBL r1, INTERVAL_TBL r2
|
1997-05-09 05:26:56 +02:00
|
|
|
WHERE r1.f1 > r2.f1
|
|
|
|
ORDER BY r1.f1, r2.f1;
|
2000-01-05 07:06:23 +01:00
|
|
|
fortyfive | f1 | f1
|
|
|
|
-----------+-------------------------------+-------------------------------
|
|
|
|
| @ 1 min | @ 14 secs ago
|
|
|
|
| @ 5 hours | @ 14 secs ago
|
|
|
|
| @ 5 hours | @ 1 min
|
|
|
|
| @ 1 day 2 hours 3 mins 4 secs | @ 14 secs ago
|
|
|
|
| @ 1 day 2 hours 3 mins 4 secs | @ 1 min
|
|
|
|
| @ 1 day 2 hours 3 mins 4 secs | @ 5 hours
|
|
|
|
| @ 10 days | @ 14 secs ago
|
|
|
|
| @ 10 days | @ 1 min
|
|
|
|
| @ 10 days | @ 5 hours
|
|
|
|
| @ 10 days | @ 1 day 2 hours 3 mins 4 secs
|
|
|
|
| @ 3 mons | @ 14 secs ago
|
|
|
|
| @ 3 mons | @ 1 min
|
|
|
|
| @ 3 mons | @ 5 hours
|
|
|
|
| @ 3 mons | @ 1 day 2 hours 3 mins 4 secs
|
|
|
|
| @ 3 mons | @ 10 days
|
|
|
|
| @ 5 mons | @ 14 secs ago
|
|
|
|
| @ 5 mons | @ 1 min
|
|
|
|
| @ 5 mons | @ 5 hours
|
|
|
|
| @ 5 mons | @ 1 day 2 hours 3 mins 4 secs
|
|
|
|
| @ 5 mons | @ 10 days
|
|
|
|
| @ 5 mons | @ 3 mons
|
|
|
|
| @ 5 mons 12 hours | @ 14 secs ago
|
|
|
|
| @ 5 mons 12 hours | @ 1 min
|
|
|
|
| @ 5 mons 12 hours | @ 5 hours
|
|
|
|
| @ 5 mons 12 hours | @ 1 day 2 hours 3 mins 4 secs
|
|
|
|
| @ 5 mons 12 hours | @ 10 days
|
|
|
|
| @ 5 mons 12 hours | @ 3 mons
|
|
|
|
| @ 5 mons 12 hours | @ 5 mons
|
|
|
|
| @ 6 years | @ 14 secs ago
|
|
|
|
| @ 6 years | @ 1 min
|
|
|
|
| @ 6 years | @ 5 hours
|
|
|
|
| @ 6 years | @ 1 day 2 hours 3 mins 4 secs
|
|
|
|
| @ 6 years | @ 10 days
|
|
|
|
| @ 6 years | @ 3 mons
|
|
|
|
| @ 6 years | @ 5 mons
|
|
|
|
| @ 6 years | @ 5 mons 12 hours
|
|
|
|
| @ 34 years | @ 14 secs ago
|
|
|
|
| @ 34 years | @ 1 min
|
|
|
|
| @ 34 years | @ 5 hours
|
|
|
|
| @ 34 years | @ 1 day 2 hours 3 mins 4 secs
|
|
|
|
| @ 34 years | @ 10 days
|
|
|
|
| @ 34 years | @ 3 mons
|
|
|
|
| @ 34 years | @ 5 mons
|
|
|
|
| @ 34 years | @ 5 mons 12 hours
|
|
|
|
| @ 34 years | @ 6 years
|
1997-04-27 05:57:34 +02:00
|
|
|
(45 rows)
|
|
|
|
|