Commit 6d9299e1 authored by Thomas G. Lockhart's avatar Thomas G. Lockhart

Move a few specific tests to isolate homogenous type tests into

 regression tests for specific types, and move a few others to the
 cross-type "horology" test.
Rearrange the test order slightly, and move the abstime test to the
 "parallel safe" area.
Hand-patch the results for "1947" and for "solaris", so those may not
 be exactly correct.
parent 7e2c430b
...@@ -112,64 +112,18 @@ SELECT '' AS four, ABSTIME_TBL.* ...@@ -112,64 +112,18 @@ SELECT '' AS four, ABSTIME_TBL.*
| epoch | epoch
(3 rows) (3 rows)
-- these four queries should return the same answer SELECT '' AS four, f1 AS abstime,
-- the "infinity" and "-infinity" tuples in ABSTIME_TBL cannot be added and date_part('year', f1) AS year, date_part('month', f1) AS month,
-- therefore, should not show up in the results. date_part('day',f1) AS day, date_part('hour', f1) AS hour,
SELECT '' AS three, ABSTIME_TBL.* date_part('minute', f1) AS minute, date_part('second', f1) AS second
WHERE (ABSTIME_TBL.f1 + reltime '@ 3 year') -- +3 years FROM ABSTIME_TBL
< abstime 'Jan 14 14:00:00 1977'; WHERE isfinite(f1) and f1 <> abstime 'current'
three | f1 ORDER BY abstime;
-------+------------------------------ four | abstime | year | month | day | hour | minute | second
| Sun Jan 14 03:14:21 1973 PST ------+------------------------------+------+-------+-----+------+--------+--------
| epoch | Sun May 11 00:59:12 1947 PDT | 1947 | 5 | 11 | 0 | 59 | 12
| Sun May 11 00:59:12 1947 PDT | epoch | 1969 | 12 | 31 | 16 | 0 | 0
(3 rows) | Sun Jan 14 03:14:21 1973 PST | 1973 | 1 | 14 | 3 | 14 | 21
| Mon May 01 00:30:30 1995 PDT | 1995 | 5 | 1 | 0 | 30 | 30
SELECT '' AS three, ABSTIME_TBL.* (4 rows)
WHERE (ABSTIME_TBL.f1 + reltime '@ 3 year ago') -- -3 years
< abstime 'Jan 14 14:00:00 1971';
three | f1
-------+------------------------------
| Sun Jan 14 03:14:21 1973 PST
| epoch
| Sun May 11 00:59:12 1947 PDT
(3 rows)
SELECT '' AS three, ABSTIME_TBL.*
WHERE (ABSTIME_TBL.f1 - reltime '@ 3 year') -- -(+3) years
< abstime 'Jan 14 14:00:00 1971';
three | f1
-------+------------------------------
| Sun Jan 14 03:14:21 1973 PST
| epoch
| Sun May 11 00:59:12 1947 PDT
(3 rows)
SELECT '' AS three, ABSTIME_TBL.*
WHERE (ABSTIME_TBL.f1 - reltime '@ 3 year ago') -- -(-3) years
< abstime 'Jan 14 14:00:00 1977';
three | f1
-------+------------------------------
| Sun Jan 14 03:14:21 1973 PST
| epoch
| Sun May 11 00:59:12 1947 PDT
(3 rows)
SELECT '' AS ten, ABSTIME_TBL.f1 AS abstime, RELTIME_TBL.f1 AS reltime
WHERE (ABSTIME_TBL.f1 + RELTIME_TBL.f1)
< abstime 'Jan 14 14:00:00 1971'
ORDER BY abstime, reltime;
ten | abstime | reltime
-----+------------------------------+---------------
| Sun May 11 00:59:12 1947 PDT | @ 14 secs ago
| Sun May 11 00:59:12 1947 PDT | @ 1 min
| Sun May 11 00:59:12 1947 PDT | @ 5 hours
| Sun May 11 00:59:12 1947 PDT | @ 10 days
| Sun May 11 00:59:12 1947 PDT | @ 3 mons
| epoch | @ 14 secs ago
| epoch | @ 1 min
| epoch | @ 5 hours
| epoch | @ 10 days
| epoch | @ 3 mons
(10 rows)
...@@ -112,64 +112,17 @@ SELECT '' AS four, ABSTIME_TBL.* ...@@ -112,64 +112,17 @@ SELECT '' AS four, ABSTIME_TBL.*
| epoch | epoch
(3 rows) (3 rows)
-- these four queries should return the same answer SELECT '' AS four, f1 AS abstime,
-- the "infinity" and "-infinity" tuples in ABSTIME_TBL cannot be added and date_part('year', f1) AS year, date_part('month', f1) AS month,
-- therefore, should not show up in the results. date_part('day',f1) AS day, date_part('hour', f1) AS hour,
SELECT '' AS three, ABSTIME_TBL.* date_part('minute', f1) AS minute, date_part('second', f1) AS second
WHERE (ABSTIME_TBL.f1 + reltime '@ 3 year') -- +3 years FROM ABSTIME_TBL
< abstime 'Jan 14 14:00:00 1977'; WHERE isfinite(f1) and f1 <> abstime 'current'
three | f1 ORDER BY abstime;
-------+------------------------------ four | abstime | year | month | day | hour | minute | second
| Sun Jan 14 03:14:21 1973 PST ------+------------------------------+------+-------+-----+------+--------+--------
| epoch | Sat May 10 23:59:12 1947 PDT | 1947 | 5 | 10 | 23 | 59 | 12
| Sat May 10 23:59:12 1947 PDT | epoch | 1969 | 12 | 31 | 16 | 0 | 0
(3 rows) | Sun Jan 14 03:14:21 1973 PST | 1973 | 1 | 14 | 3 | 14 | 21
| Mon May 01 00:30:30 1995 PDT | 1995 | 5 | 1 | 0 | 30 | 30
SELECT '' AS three, ABSTIME_TBL.* (4 rows)
WHERE (ABSTIME_TBL.f1 + reltime '@ 3 year ago') -- -3 years
< abstime 'Jan 14 14:00:00 1971';
three | f1
-------+------------------------------
| Sun Jan 14 03:14:21 1973 PST
| epoch
| Sat May 10 23:59:12 1947 PDT
(3 rows)
SELECT '' AS three, ABSTIME_TBL.*
WHERE (ABSTIME_TBL.f1 - reltime '@ 3 year') -- -(+3) years
< abstime 'Jan 14 14:00:00 1971';
three | f1
-------+------------------------------
| Sun Jan 14 03:14:21 1973 PST
| epoch
| Sat May 10 23:59:12 1947 PDT
(3 rows)
SELECT '' AS three, ABSTIME_TBL.*
WHERE (ABSTIME_TBL.f1 - reltime '@ 3 year ago') -- -(-3) years
< abstime 'Jan 14 14:00:00 1977';
three | f1
-------+------------------------------
| Sun Jan 14 03:14:21 1973 PST
| epoch
| Sat May 10 23:59:12 1947 PDT
(3 rows)
SELECT '' AS ten, ABSTIME_TBL.f1 AS abstime, RELTIME_TBL.f1 AS reltime
WHERE (ABSTIME_TBL.f1 + RELTIME_TBL.f1)
< abstime 'Jan 14 14:00:00 1971'
ORDER BY abstime, reltime;
ten | abstime | reltime
-----+------------------------------+---------------
| Sat May 10 23:59:12 1947 PDT | @ 14 secs ago
| Sat May 10 23:59:12 1947 PDT | @ 1 min
| Sat May 10 23:59:12 1947 PDT | @ 5 hours
| Sat May 10 23:59:12 1947 PDT | @ 10 days
| Sat May 10 23:59:12 1947 PDT | @ 3 mons
| epoch | @ 14 secs ago
| epoch | @ 1 min
| epoch | @ 5 hours
| epoch | @ 10 days
| epoch | @ 3 mons
(10 rows)
...@@ -112,64 +112,18 @@ SELECT '' AS four, ABSTIME_TBL.* ...@@ -112,64 +112,18 @@ SELECT '' AS four, ABSTIME_TBL.*
| epoch | epoch
(3 rows) (3 rows)
-- these four queries should return the same answer SELECT '' AS four, f1 AS abstime,
-- the "infinity" and "-infinity" tuples in ABSTIME_TBL cannot be added and date_part('year', f1) AS year, date_part('month', f1) AS month,
-- therefore, should not show up in the results. date_part('day',f1) AS day, date_part('hour', f1) AS hour,
SELECT '' AS three, ABSTIME_TBL.* date_part('minute', f1) AS minute, date_part('second', f1) AS second
WHERE (ABSTIME_TBL.f1 + reltime '@ 3 year') -- +3 years FROM ABSTIME_TBL
< abstime 'Jan 14 14:00:00 1977'; WHERE isfinite(f1) and f1 <> abstime 'current'
three | f1 ORDER BY abstime;
-------+------------------------------ four | abstime | year | month | day | hour | minute | second
| Sun Jan 14 03:14:21 1973 PST ------+------------------------------+------+-------+-----+------+--------+--------
| epoch | Sat May 10 23:59:12 1947 PST | 1947 | 5 | 10 | 23 | 59 | 12
| Sat May 10 23:59:12 1947 PST | epoch | 1969 | 12 | 31 | 16 | 0 | 0
(3 rows) | Sun Jan 14 03:14:21 1973 PST | 1973 | 1 | 14 | 3 | 14 | 21
| Mon May 01 00:30:30 1995 PDT | 1995 | 5 | 1 | 0 | 30 | 30
SELECT '' AS three, ABSTIME_TBL.* (4 rows)
WHERE (ABSTIME_TBL.f1 + reltime '@ 3 year ago') -- -3 years
< abstime 'Jan 14 14:00:00 1971';
three | f1
-------+------------------------------
| Sun Jan 14 03:14:21 1973 PST
| epoch
| Sat May 10 23:59:12 1947 PST
(3 rows)
SELECT '' AS three, ABSTIME_TBL.*
WHERE (ABSTIME_TBL.f1 - reltime '@ 3 year') -- -(+3) years
< abstime 'Jan 14 14:00:00 1971';
three | f1
-------+------------------------------
| Sun Jan 14 03:14:21 1973 PST
| epoch
| Sat May 10 23:59:12 1947 PST
(3 rows)
SELECT '' AS three, ABSTIME_TBL.*
WHERE (ABSTIME_TBL.f1 - reltime '@ 3 year ago') -- -(-3) years
< abstime 'Jan 14 14:00:00 1977';
three | f1
-------+------------------------------
| Sun Jan 14 03:14:21 1973 PST
| epoch
| Sat May 10 23:59:12 1947 PST
(3 rows)
SELECT '' AS ten, ABSTIME_TBL.f1 AS abstime, RELTIME_TBL.f1 AS reltime
WHERE (ABSTIME_TBL.f1 + RELTIME_TBL.f1)
< abstime 'Jan 14 14:00:00 1971'
ORDER BY abstime, reltime;
ten | abstime | reltime
-----+------------------------------+---------------
| Sat May 10 23:59:12 1947 PST | @ 14 secs ago
| Sat May 10 23:59:12 1947 PST | @ 1 min
| Sat May 10 23:59:12 1947 PST | @ 5 hours
| Sat May 10 23:59:12 1947 PST | @ 10 days
| Sat May 10 23:59:12 1947 PST | @ 3 mons
| epoch | @ 14 secs ago
| epoch | @ 1 min
| epoch | @ 5 hours
| epoch | @ 10 days
| epoch | @ 3 mons
(10 rows)
...@@ -694,20 +694,66 @@ SELECT '' as "54", d1 as timestamp, ...@@ -694,20 +694,66 @@ SELECT '' as "54", d1 as timestamp,
-- --
-- abstime, reltime arithmetic -- abstime, reltime arithmetic
-- --
SELECT '' AS four, f1 AS abstime, SELECT '' AS ten, ABSTIME_TBL.f1 AS abstime, RELTIME_TBL.f1 AS reltime
date_part('year', f1) AS year, date_part('month', f1) AS month, WHERE (ABSTIME_TBL.f1 + RELTIME_TBL.f1)
date_part('day',f1) AS day, date_part('hour', f1) AS hour, < abstime 'Jan 14 14:00:00 1971'
date_part('minute', f1) AS minute, date_part('second', f1) AS second ORDER BY abstime, reltime;
FROM ABSTIME_TBL ten | abstime | reltime
WHERE isfinite(f1) and f1 <> abstime 'current' -----+------------------------------+---------------
ORDER BY abstime; | Sun May 11 00:59:12 1947 PDT | @ 14 secs ago
four | abstime | year | month | day | hour | minute | second | Sun May 11 00:59:12 1947 PDT | @ 1 min
------+------------------------------+------+-------+-----+------+--------+-------- | Sun May 11 00:59:12 1947 PDT | @ 5 hours
| Sun May 11 00:59:12 1947 PDT | 1947 | 5 | 11 | 0 | 59 | 12 | Sun May 11 00:59:12 1947 PDT | @ 10 days
| epoch | 1969 | 12 | 31 | 16 | 0 | 0 | Sun May 11 00:59:12 1947 PDT | @ 3 mons
| Sun Jan 14 03:14:21 1973 PST | 1973 | 1 | 14 | 3 | 14 | 21 | epoch | @ 14 secs ago
| Mon May 01 00:30:30 1995 PDT | 1995 | 5 | 1 | 0 | 30 | 30 | epoch | @ 1 min
(4 rows) | epoch | @ 5 hours
| epoch | @ 10 days
| epoch | @ 3 mons
(10 rows)
-- these four queries should return the same answer
-- the "infinity" and "-infinity" tuples in ABSTIME_TBL cannot be added and
-- therefore, should not show up in the results.
SELECT '' AS three, ABSTIME_TBL.*
WHERE (ABSTIME_TBL.f1 + reltime '@ 3 year') -- +3 years
< abstime 'Jan 14 14:00:00 1977';
three | f1
-------+------------------------------
| Sun Jan 14 03:14:21 1973 PST
| epoch
| Sun May 11 00:59:12 1947 PDT
(3 rows)
SELECT '' AS three, ABSTIME_TBL.*
WHERE (ABSTIME_TBL.f1 + reltime '@ 3 year ago') -- -3 years
< abstime 'Jan 14 14:00:00 1971';
three | f1
-------+------------------------------
| Sun Jan 14 03:14:21 1973 PST
| epoch
| Sun May 11 00:59:12 1947 PDT
(3 rows)
SELECT '' AS three, ABSTIME_TBL.*
WHERE (ABSTIME_TBL.f1 - reltime '@ 3 year') -- -(+3) years
< abstime 'Jan 14 14:00:00 1971';
three | f1
-------+------------------------------
| Sun Jan 14 03:14:21 1973 PST
| epoch
| Sun May 11 00:59:12 1947 PDT
(3 rows)
SELECT '' AS three, ABSTIME_TBL.*
WHERE (ABSTIME_TBL.f1 - reltime '@ 3 year ago') -- -(-3) years
< abstime 'Jan 14 14:00:00 1977';
three | f1
-------+------------------------------
| Sun Jan 14 03:14:21 1973 PST
| epoch
| Sun May 11 00:59:12 1947 PDT
(3 rows)
-- --
-- Conversions -- Conversions
......
...@@ -694,20 +694,66 @@ SELECT '' as "54", d1 as timestamp, ...@@ -694,20 +694,66 @@ SELECT '' as "54", d1 as timestamp,
-- --
-- abstime, reltime arithmetic -- abstime, reltime arithmetic
-- --
SELECT '' AS four, f1 AS abstime, SELECT '' AS ten, ABSTIME_TBL.f1 AS abstime, RELTIME_TBL.f1 AS reltime
date_part('year', f1) AS year, date_part('month', f1) AS month, WHERE (ABSTIME_TBL.f1 + RELTIME_TBL.f1)
date_part('day',f1) AS day, date_part('hour', f1) AS hour, < abstime 'Jan 14 14:00:00 1971'
date_part('minute', f1) AS minute, date_part('second', f1) AS second ORDER BY abstime, reltime;
FROM ABSTIME_TBL ten | abstime | reltime
WHERE isfinite(f1) and f1 <> abstime 'current' -----+------------------------------+---------------
ORDER BY abstime; | Sat May 10 23:59:12 1947 PDT | @ 14 secs ago
four | abstime | year | month | day | hour | minute | second | Sat May 10 23:59:12 1947 PDT | @ 1 min
------+------------------------------+------+-------+-----+------+--------+-------- | Sat May 10 23:59:12 1947 PDT | @ 5 hours
| Sat May 10 23:59:12 1947 PDT | 1947 | 5 | 10 | 23 | 59 | 12 | Sat May 10 23:59:12 1947 PDT | @ 10 days
| epoch | 1969 | 12 | 31 | 16 | 0 | 0 | Sat May 10 23:59:12 1947 PDT | @ 3 mons
| Sun Jan 14 03:14:21 1973 PST | 1973 | 1 | 14 | 3 | 14 | 21 | epoch | @ 14 secs ago
| Mon May 01 00:30:30 1995 PDT | 1995 | 5 | 1 | 0 | 30 | 30 | epoch | @ 1 min
(4 rows) | epoch | @ 5 hours
| epoch | @ 10 days
| epoch | @ 3 mons
(10 rows)
-- these four queries should return the same answer
-- the "infinity" and "-infinity" tuples in ABSTIME_TBL cannot be added and
-- therefore, should not show up in the results.
SELECT '' AS three, ABSTIME_TBL.*
WHERE (ABSTIME_TBL.f1 + reltime '@ 3 year') -- +3 years
< abstime 'Jan 14 14:00:00 1977';
three | f1
-------+------------------------------
| Sun Jan 14 03:14:21 1973 PST
| epoch
| Sat May 10 23:59:12 1947 PDT
(3 rows)
SELECT '' AS three, ABSTIME_TBL.*
WHERE (ABSTIME_TBL.f1 + reltime '@ 3 year ago') -- -3 years
< abstime 'Jan 14 14:00:00 1971';
three | f1
-------+------------------------------
| Sun Jan 14 03:14:21 1973 PST
| epoch
| Sat May 10 23:59:12 1947 PDT
(3 rows)
SELECT '' AS three, ABSTIME_TBL.*
WHERE (ABSTIME_TBL.f1 - reltime '@ 3 year') -- -(+3) years
< abstime 'Jan 14 14:00:00 1971';
three | f1
-------+------------------------------
| Sun Jan 14 03:14:21 1973 PST
| epoch
| Sat May 10 23:59:12 1947 PDT
(3 rows)
SELECT '' AS three, ABSTIME_TBL.*
WHERE (ABSTIME_TBL.f1 - reltime '@ 3 year ago') -- -(-3) years
< abstime 'Jan 14 14:00:00 1977';
three | f1
-------+------------------------------
| Sun Jan 14 03:14:21 1973 PST
| epoch
| Sat May 10 23:59:12 1947 PDT
(3 rows)
-- --
-- Conversions -- Conversions
......
...@@ -736,20 +736,66 @@ SELECT '' as "54", d1 as timestamp, ...@@ -736,20 +736,66 @@ SELECT '' as "54", d1 as timestamp,
-- --
-- abstime, reltime arithmetic -- abstime, reltime arithmetic
-- --
SELECT '' AS four, f1 AS abstime, SELECT '' AS ten, ABSTIME_TBL.f1 AS abstime, RELTIME_TBL.f1 AS reltime
date_part('year', f1) AS year, date_part('month', f1) AS month, WHERE (ABSTIME_TBL.f1 + RELTIME_TBL.f1)
date_part('day',f1) AS day, date_part('hour', f1) AS hour, < abstime 'Jan 14 14:00:00 1971'
date_part('minute', f1) AS minute, date_part('second', f1) AS second ORDER BY abstime, reltime;
FROM ABSTIME_TBL ten | abstime | reltime
WHERE isfinite(f1) and f1 <> abstime 'current' -----+------------------------------+---------------
ORDER BY abstime; | Sat May 10 23:59:12 1947 PST | @ 14 secs ago
four | abstime | year | month | day | hour | minute | second | Sat May 10 23:59:12 1947 PST | @ 1 min
------+------------------------------+------+-------+-----+------+--------+-------- | Sat May 10 23:59:12 1947 PST | @ 5 hours
| Sat May 10 23:59:12 1947 PST | 1947 | 5 | 10 | 23 | 59 | 12 | Sat May 10 23:59:12 1947 PST | @ 10 days
| epoch | 1969 | 12 | 31 | 16 | 0 | 0 | Sat May 10 23:59:12 1947 PST | @ 3 mons
| Sun Jan 14 03:14:21 1973 PST | 1973 | 1 | 14 | 3 | 14 | 21 | epoch | @ 14 secs ago
| Mon May 01 00:30:30 1995 PDT | 1995 | 5 | 1 | 0 | 30 | 30 | epoch | @ 1 min
(4 rows) | epoch | @ 5 hours
| epoch | @ 10 days
| epoch | @ 3 mons
(10 rows)
-- these four queries should return the same answer
-- the "infinity" and "-infinity" tuples in ABSTIME_TBL cannot be added and
-- therefore, should not show up in the results.
SELECT '' AS three, ABSTIME_TBL.*
WHERE (ABSTIME_TBL.f1 + reltime '@ 3 year') -- +3 years
< abstime 'Jan 14 14:00:00 1977';
three | f1
-------+------------------------------
| Sun Jan 14 03:14:21 1973 PST
| epoch
| Sat May 10 23:59:12 1947 PST
(3 rows)
SELECT '' AS three, ABSTIME_TBL.*
WHERE (ABSTIME_TBL.f1 + reltime '@ 3 year ago') -- -3 years
< abstime 'Jan 14 14:00:00 1971';
three | f1
-------+------------------------------
| Sun Jan 14 03:14:21 1973 PST
| epoch
| Sat May 10 23:59:12 1947 PST
(3 rows)
SELECT '' AS three, ABSTIME_TBL.*
WHERE (ABSTIME_TBL.f1 - reltime '@ 3 year') -- -(+3) years
< abstime 'Jan 14 14:00:00 1971';
three | f1
-------+------------------------------
| Sun Jan 14 03:14:21 1973 PST
| epoch
| Sat May 10 23:59:12 1947 PST
(3 rows)
SELECT '' AS three, ABSTIME_TBL.*
WHERE (ABSTIME_TBL.f1 - reltime '@ 3 year ago') -- -(-3) years
< abstime 'Jan 14 14:00:00 1977';
three | f1
-------+------------------------------
| Sun Jan 14 03:14:21 1973 PST
| epoch
| Sat May 10 23:59:12 1947 PST
(3 rows)
-- --
-- Conversions -- Conversions
......
...@@ -65,27 +65,10 @@ SELECT '' AS four, ABSTIME_TBL.* ...@@ -65,27 +65,10 @@ SELECT '' AS four, ABSTIME_TBL.*
WHERE ABSTIME_TBL.f1 <?> WHERE ABSTIME_TBL.f1 <?>
tinterval '["Apr 1 1950 00:00:00" "Dec 30 1999 23:00:00"]'; tinterval '["Apr 1 1950 00:00:00" "Dec 30 1999 23:00:00"]';
-- these four queries should return the same answer SELECT '' AS four, f1 AS abstime,
-- the "infinity" and "-infinity" tuples in ABSTIME_TBL cannot be added and date_part('year', f1) AS year, date_part('month', f1) AS month,
-- therefore, should not show up in the results. date_part('day',f1) AS day, date_part('hour', f1) AS hour,
SELECT '' AS three, ABSTIME_TBL.* date_part('minute', f1) AS minute, date_part('second', f1) AS second
WHERE (ABSTIME_TBL.f1 + reltime '@ 3 year') -- +3 years FROM ABSTIME_TBL
< abstime 'Jan 14 14:00:00 1977'; WHERE isfinite(f1) and f1 <> abstime 'current'
ORDER BY abstime;
SELECT '' AS three, ABSTIME_TBL.*
WHERE (ABSTIME_TBL.f1 + reltime '@ 3 year ago') -- -3 years
< abstime 'Jan 14 14:00:00 1971';
SELECT '' AS three, ABSTIME_TBL.*
WHERE (ABSTIME_TBL.f1 - reltime '@ 3 year') -- -(+3) years
< abstime 'Jan 14 14:00:00 1971';
SELECT '' AS three, ABSTIME_TBL.*
WHERE (ABSTIME_TBL.f1 - reltime '@ 3 year ago') -- -(-3) years
< abstime 'Jan 14 14:00:00 1977';
SELECT '' AS ten, ABSTIME_TBL.f1 AS abstime, RELTIME_TBL.f1 AS reltime
WHERE (ABSTIME_TBL.f1 + RELTIME_TBL.f1)
< abstime 'Jan 14 14:00:00 1971'
ORDER BY abstime, reltime;
...@@ -72,13 +72,30 @@ SELECT '' as "54", d1 as timestamp, ...@@ -72,13 +72,30 @@ SELECT '' as "54", d1 as timestamp,
-- abstime, reltime arithmetic -- abstime, reltime arithmetic
-- --
SELECT '' AS four, f1 AS abstime, SELECT '' AS ten, ABSTIME_TBL.f1 AS abstime, RELTIME_TBL.f1 AS reltime
date_part('year', f1) AS year, date_part('month', f1) AS month, WHERE (ABSTIME_TBL.f1 + RELTIME_TBL.f1)
date_part('day',f1) AS day, date_part('hour', f1) AS hour, < abstime 'Jan 14 14:00:00 1971'
date_part('minute', f1) AS minute, date_part('second', f1) AS second ORDER BY abstime, reltime;
FROM ABSTIME_TBL
WHERE isfinite(f1) and f1 <> abstime 'current' -- these four queries should return the same answer
ORDER BY abstime; -- the "infinity" and "-infinity" tuples in ABSTIME_TBL cannot be added and
-- therefore, should not show up in the results.
SELECT '' AS three, ABSTIME_TBL.*
WHERE (ABSTIME_TBL.f1 + reltime '@ 3 year') -- +3 years
< abstime 'Jan 14 14:00:00 1977';
SELECT '' AS three, ABSTIME_TBL.*
WHERE (ABSTIME_TBL.f1 + reltime '@ 3 year ago') -- -3 years
< abstime 'Jan 14 14:00:00 1971';
SELECT '' AS three, ABSTIME_TBL.*
WHERE (ABSTIME_TBL.f1 - reltime '@ 3 year') -- -(+3) years
< abstime 'Jan 14 14:00:00 1971';
SELECT '' AS three, ABSTIME_TBL.*
WHERE (ABSTIME_TBL.f1 - reltime '@ 3 year ago') -- -(-3) years
< abstime 'Jan 14 14:00:00 1977';
-- --
-- Conversions -- Conversions
......
...@@ -31,8 +31,9 @@ parallel group2 ...@@ -31,8 +31,9 @@ parallel group2
test circle test circle
test date test date
test time test time
test interval
test timestamp test timestamp
test interval
test abstime
test reltime test reltime
test tinterval test tinterval
test inet test inet
...@@ -42,7 +43,6 @@ parallel group2 ...@@ -42,7 +43,6 @@ parallel group2
test opr_sanity test opr_sanity
endparallel endparallel
test abstime # Depends on the reltime test
test geometry # Depends on point, lseg, box, path, polygon and circle test geometry # Depends on point, lseg, box, path, polygon and circle
test horology # Depends on interval, timestamp, reltime and abstime test horology # Depends on interval, timestamp, reltime and abstime
......
...@@ -20,10 +20,10 @@ circle ...@@ -20,10 +20,10 @@ circle
geometry geometry
date date
time time
interval
timestamp timestamp
reltime interval
abstime abstime
reltime
tinterval tinterval
horology horology
inet inet
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment