From efcc7572f532ea564fedc6359c2df43045ee7908 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Mon, 29 Mar 2021 17:53:30 +0200 Subject: [PATCH] Clean up date_part tests a bit Some tests for timestamp and timestamptz were in the date.sql test file. Move them to their appropriate files, or drop tests cases that were already present there. --- src/test/regress/expected/date.out | 80 +------------ src/test/regress/expected/timestamp.out | 137 ++++++++++----------- src/test/regress/expected/timestamptz.out | 139 +++++++++++----------- src/test/regress/sql/date.sql | 20 +--- src/test/regress/sql/timestamp.sql | 3 +- src/test/regress/sql/timestamptz.sql | 3 +- 6 files changed, 147 insertions(+), 235 deletions(-) diff --git a/src/test/regress/expected/date.out b/src/test/regress/expected/date.out index 1b921ce215b..83ad111f1c8 100644 --- a/src/test/regress/expected/date.out +++ b/src/test/regress/expected/date.out @@ -971,18 +971,6 @@ SELECT EXTRACT(EPOCH FROM DATE '1970-01-01'); -- 0 0 (1 row) -SELECT EXTRACT(EPOCH FROM TIMESTAMP '1970-01-01'); -- 0 - date_part ------------ - 0 -(1 row) - -SELECT EXTRACT(EPOCH FROM TIMESTAMPTZ '1970-01-01+00'); -- 0 - date_part ------------ - 0 -(1 row) - -- -- century -- @@ -1137,22 +1125,6 @@ SELECT EXTRACT(DECADE FROM DATE '0012-12-31 BC'); -- -2 -2 (1 row) --- --- some other types: --- --- on a timestamp. -SELECT EXTRACT(CENTURY FROM NOW())>=21 AS True; -- true - true ------- - t -(1 row) - -SELECT EXTRACT(CENTURY FROM TIMESTAMP '1970-03-20 04:30:00.00000'); -- 20 - date_part ------------ - 20 -(1 row) - -- -- all possible fields -- @@ -1370,7 +1342,7 @@ select isfinite('infinity'::date), isfinite('-infinity'::date), isfinite('today' (1 row) -- --- oscillating fields from non-finite date/timestamptz: +-- oscillating fields from non-finite date: -- SELECT EXTRACT(HOUR FROM DATE 'infinity'); -- NULL date_part @@ -1384,30 +1356,6 @@ SELECT EXTRACT(HOUR FROM DATE '-infinity'); -- NULL (1 row) -SELECT EXTRACT(HOUR FROM TIMESTAMP 'infinity'); -- NULL - date_part ------------ - -(1 row) - -SELECT EXTRACT(HOUR FROM TIMESTAMP '-infinity'); -- NULL - date_part ------------ - -(1 row) - -SELECT EXTRACT(HOUR FROM TIMESTAMPTZ 'infinity'); -- NULL - date_part ------------ - -(1 row) - -SELECT EXTRACT(HOUR FROM TIMESTAMPTZ '-infinity'); -- NULL - date_part ------------ - -(1 row) - -- all possible fields SELECT EXTRACT(MICROSECONDS FROM DATE 'infinity'); -- NULL date_part @@ -1500,7 +1448,7 @@ SELECT EXTRACT(TIMEZONE_H FROM DATE 'infinity'); -- NULL (1 row) -- --- monotonic fields from non-finite date/timestamptz: +-- monotonic fields from non-finite date: -- SELECT EXTRACT(EPOCH FROM DATE 'infinity'); -- Infinity date_part @@ -1514,30 +1462,6 @@ SELECT EXTRACT(EPOCH FROM DATE '-infinity'); -- -Infinity -Infinity (1 row) -SELECT EXTRACT(EPOCH FROM TIMESTAMP 'infinity'); -- Infinity - date_part ------------ - Infinity -(1 row) - -SELECT EXTRACT(EPOCH FROM TIMESTAMP '-infinity'); -- -Infinity - date_part ------------ - -Infinity -(1 row) - -SELECT EXTRACT(EPOCH FROM TIMESTAMPTZ 'infinity'); -- Infinity - date_part ------------ - Infinity -(1 row) - -SELECT EXTRACT(EPOCH FROM TIMESTAMPTZ '-infinity'); -- -Infinity - date_part ------------ - -Infinity -(1 row) - -- all possible fields SELECT EXTRACT(YEAR FROM DATE 'infinity'); -- Infinity date_part diff --git a/src/test/regress/expected/timestamp.out b/src/test/regress/expected/timestamp.out index 89a856bac98..233ac50d7e6 100644 --- a/src/test/regress/expected/timestamp.out +++ b/src/test/regress/expected/timestamp.out @@ -931,75 +931,76 @@ SELECT d1 as "timestamp", date_part( 'decade', d1) AS decade, date_part( 'century', d1) AS century, date_part( 'millennium', d1) AS millennium, - round(date_part( 'julian', d1)) AS julian + round(date_part( 'julian', d1)) AS julian, + date_part( 'epoch', d1) AS epoch FROM TIMESTAMP_TBL; - timestamp | decade | century | millennium | julian ------------------------------+-----------+-----------+------------+----------- - -infinity | -Infinity | -Infinity | -Infinity | -Infinity - infinity | Infinity | Infinity | Infinity | Infinity - Thu Jan 01 00:00:00 1970 | 197 | 20 | 2 | 2440588 - Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:02 1997 | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:01.4 1997 | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:01.5 1997 | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:01.6 1997 | 199 | 20 | 2 | 2450491 - Thu Jan 02 00:00:00 1997 | 199 | 20 | 2 | 2450451 - Thu Jan 02 03:04:05 1997 | 199 | 20 | 2 | 2450451 - Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 - Tue Jun 10 17:32:01 1997 | 199 | 20 | 2 | 2450611 - Sat Sep 22 18:19:20 2001 | 200 | 21 | 3 | 2452176 - Wed Mar 15 08:14:01 2000 | 200 | 20 | 2 | 2451619 - Wed Mar 15 13:14:02 2000 | 200 | 20 | 2 | 2451620 - Wed Mar 15 12:14:03 2000 | 200 | 20 | 2 | 2451620 - Wed Mar 15 03:14:04 2000 | 200 | 20 | 2 | 2451619 - Wed Mar 15 02:14:05 2000 | 200 | 20 | 2 | 2451619 - Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:00 1997 | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 - Tue Jun 10 18:32:01 1997 | 199 | 20 | 2 | 2450611 - Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 - Tue Feb 11 17:32:01 1997 | 199 | 20 | 2 | 2450492 - Wed Feb 12 17:32:01 1997 | 199 | 20 | 2 | 2450493 - Thu Feb 13 17:32:01 1997 | 199 | 20 | 2 | 2450494 - Fri Feb 14 17:32:01 1997 | 199 | 20 | 2 | 2450495 - Sat Feb 15 17:32:01 1997 | 199 | 20 | 2 | 2450496 - Sun Feb 16 17:32:01 1997 | 199 | 20 | 2 | 2450497 - Tue Feb 16 17:32:01 0097 BC | -10 | -1 | -1 | 1686043 - Sat Feb 16 17:32:01 0097 | 9 | 1 | 1 | 1756537 - Thu Feb 16 17:32:01 0597 | 59 | 6 | 1 | 1939158 - Tue Feb 16 17:32:01 1097 | 109 | 11 | 2 | 2121779 - Sat Feb 16 17:32:01 1697 | 169 | 17 | 2 | 2340925 - Thu Feb 16 17:32:01 1797 | 179 | 18 | 2 | 2377449 - Tue Feb 16 17:32:01 1897 | 189 | 19 | 2 | 2413973 - Sun Feb 16 17:32:01 1997 | 199 | 20 | 2 | 2450497 - Sat Feb 16 17:32:01 2097 | 209 | 21 | 3 | 2487022 - Wed Feb 28 17:32:01 1996 | 199 | 20 | 2 | 2450143 - Thu Feb 29 17:32:01 1996 | 199 | 20 | 2 | 2450144 - Fri Mar 01 17:32:01 1996 | 199 | 20 | 2 | 2450145 - Mon Dec 30 17:32:01 1996 | 199 | 20 | 2 | 2450449 - Tue Dec 31 17:32:01 1996 | 199 | 20 | 2 | 2450450 - Wed Jan 01 17:32:01 1997 | 199 | 20 | 2 | 2450451 - Fri Feb 28 17:32:01 1997 | 199 | 20 | 2 | 2450509 - Sat Mar 01 17:32:01 1997 | 199 | 20 | 2 | 2450510 - Tue Dec 30 17:32:01 1997 | 199 | 20 | 2 | 2450814 - Wed Dec 31 17:32:01 1997 | 199 | 20 | 2 | 2450815 - Fri Dec 31 17:32:01 1999 | 199 | 20 | 2 | 2451545 - Sat Jan 01 17:32:01 2000 | 200 | 20 | 2 | 2451546 - Sun Dec 31 17:32:01 2000 | 200 | 20 | 2 | 2451911 - Mon Jan 01 17:32:01 2001 | 200 | 21 | 3 | 2451912 + timestamp | decade | century | millennium | julian | epoch +-----------------------------+-----------+-----------+------------+-----------+-------------- + -infinity | -Infinity | -Infinity | -Infinity | -Infinity | -Infinity + infinity | Infinity | Infinity | Infinity | Infinity | Infinity + Thu Jan 01 00:00:00 1970 | 197 | 20 | 2 | 2440588 | 0 + Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921 + Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921 + Mon Feb 10 17:32:02 1997 | 199 | 20 | 2 | 2450491 | 855595922 + Mon Feb 10 17:32:01.4 1997 | 199 | 20 | 2 | 2450491 | 855595921.4 + Mon Feb 10 17:32:01.5 1997 | 199 | 20 | 2 | 2450491 | 855595921.5 + Mon Feb 10 17:32:01.6 1997 | 199 | 20 | 2 | 2450491 | 855595921.6 + Thu Jan 02 00:00:00 1997 | 199 | 20 | 2 | 2450451 | 852163200 + Thu Jan 02 03:04:05 1997 | 199 | 20 | 2 | 2450451 | 852174245 + Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921 + Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921 + Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921 + Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921 + Tue Jun 10 17:32:01 1997 | 199 | 20 | 2 | 2450611 | 865963921 + Sat Sep 22 18:19:20 2001 | 200 | 21 | 3 | 2452176 | 1001182760 + Wed Mar 15 08:14:01 2000 | 200 | 20 | 2 | 2451619 | 953108041 + Wed Mar 15 13:14:02 2000 | 200 | 20 | 2 | 2451620 | 953126042 + Wed Mar 15 12:14:03 2000 | 200 | 20 | 2 | 2451620 | 953122443 + Wed Mar 15 03:14:04 2000 | 200 | 20 | 2 | 2451619 | 953090044 + Wed Mar 15 02:14:05 2000 | 200 | 20 | 2 | 2451619 | 953086445 + Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921 + Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921 + Mon Feb 10 17:32:00 1997 | 199 | 20 | 2 | 2450491 | 855595920 + Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921 + Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921 + Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921 + Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921 + Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921 + Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921 + Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921 + Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921 + Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921 + Tue Jun 10 18:32:01 1997 | 199 | 20 | 2 | 2450611 | 865967521 + Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921 + Tue Feb 11 17:32:01 1997 | 199 | 20 | 2 | 2450492 | 855682321 + Wed Feb 12 17:32:01 1997 | 199 | 20 | 2 | 2450493 | 855768721 + Thu Feb 13 17:32:01 1997 | 199 | 20 | 2 | 2450494 | 855855121 + Fri Feb 14 17:32:01 1997 | 199 | 20 | 2 | 2450495 | 855941521 + Sat Feb 15 17:32:01 1997 | 199 | 20 | 2 | 2450496 | 856027921 + Sun Feb 16 17:32:01 1997 | 199 | 20 | 2 | 2450497 | 856114321 + Tue Feb 16 17:32:01 0097 BC | -10 | -1 | -1 | 1686043 | -65192711279 + Sat Feb 16 17:32:01 0097 | 9 | 1 | 1 | 1756537 | -59102029679 + Thu Feb 16 17:32:01 0597 | 59 | 6 | 1 | 1939158 | -43323575279 + Tue Feb 16 17:32:01 1097 | 109 | 11 | 2 | 2121779 | -27545120879 + Sat Feb 16 17:32:01 1697 | 169 | 17 | 2 | 2340925 | -8610906479 + Thu Feb 16 17:32:01 1797 | 179 | 18 | 2 | 2377449 | -5455232879 + Tue Feb 16 17:32:01 1897 | 189 | 19 | 2 | 2413973 | -2299559279 + Sun Feb 16 17:32:01 1997 | 199 | 20 | 2 | 2450497 | 856114321 + Sat Feb 16 17:32:01 2097 | 209 | 21 | 3 | 2487022 | 4011874321 + Wed Feb 28 17:32:01 1996 | 199 | 20 | 2 | 2450143 | 825528721 + Thu Feb 29 17:32:01 1996 | 199 | 20 | 2 | 2450144 | 825615121 + Fri Mar 01 17:32:01 1996 | 199 | 20 | 2 | 2450145 | 825701521 + Mon Dec 30 17:32:01 1996 | 199 | 20 | 2 | 2450449 | 851967121 + Tue Dec 31 17:32:01 1996 | 199 | 20 | 2 | 2450450 | 852053521 + Wed Jan 01 17:32:01 1997 | 199 | 20 | 2 | 2450451 | 852139921 + Fri Feb 28 17:32:01 1997 | 199 | 20 | 2 | 2450509 | 857151121 + Sat Mar 01 17:32:01 1997 | 199 | 20 | 2 | 2450510 | 857237521 + Tue Dec 30 17:32:01 1997 | 199 | 20 | 2 | 2450814 | 883503121 + Wed Dec 31 17:32:01 1997 | 199 | 20 | 2 | 2450815 | 883589521 + Fri Dec 31 17:32:01 1999 | 199 | 20 | 2 | 2451545 | 946661521 + Sat Jan 01 17:32:01 2000 | 200 | 20 | 2 | 2451546 | 946747921 + Sun Dec 31 17:32:01 2000 | 200 | 20 | 2 | 2451911 | 978283921 + Mon Jan 01 17:32:01 2001 | 200 | 21 | 3 | 2451912 | 978370321 (65 rows) -- TO_CHAR() diff --git a/src/test/regress/expected/timestamptz.out b/src/test/regress/expected/timestamptz.out index c9541487968..abd8a645a0a 100644 --- a/src/test/regress/expected/timestamptz.out +++ b/src/test/regress/expected/timestamptz.out @@ -1022,76 +1022,77 @@ SELECT d1 as timestamptz, date_part( 'decade', d1) AS decade, date_part( 'century', d1) AS century, date_part( 'millennium', d1) AS millennium, - round(date_part( 'julian', d1)) AS julian + round(date_part( 'julian', d1)) AS julian, + date_part( 'epoch', d1) AS epoch FROM TIMESTAMPTZ_TBL; - timestamptz | decade | century | millennium | julian ----------------------------------+-----------+-----------+------------+----------- - -infinity | -Infinity | -Infinity | -Infinity | -Infinity - infinity | Infinity | Infinity | Infinity | Infinity - Wed Dec 31 16:00:00 1969 PST | 196 | 20 | 2 | 2440588 - Mon Feb 10 17:32:01 1997 PST | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:01 1997 PST | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:02 1997 PST | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:01.4 1997 PST | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:01.5 1997 PST | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:01.6 1997 PST | 199 | 20 | 2 | 2450491 - Thu Jan 02 00:00:00 1997 PST | 199 | 20 | 2 | 2450451 - Thu Jan 02 03:04:05 1997 PST | 199 | 20 | 2 | 2450451 - Mon Feb 10 17:32:01 1997 PST | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:01 1997 PST | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:01 1997 PST | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:01 1997 PST | 199 | 20 | 2 | 2450491 - Tue Jun 10 17:32:01 1997 PDT | 199 | 20 | 2 | 2450611 - Sat Sep 22 18:19:20 2001 PDT | 200 | 21 | 3 | 2452176 - Wed Mar 15 08:14:01 2000 PST | 200 | 20 | 2 | 2451619 - Wed Mar 15 04:14:02 2000 PST | 200 | 20 | 2 | 2451619 - Wed Mar 15 02:14:03 2000 PST | 200 | 20 | 2 | 2451619 - Wed Mar 15 03:14:04 2000 PST | 200 | 20 | 2 | 2451619 - Wed Mar 15 01:14:05 2000 PST | 200 | 20 | 2 | 2451619 - Mon Feb 10 17:32:01 1997 PST | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:01 1997 PST | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:00 1997 PST | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:01 1997 PST | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:01 1997 PST | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:01 1997 PST | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:01 1997 PST | 199 | 20 | 2 | 2450491 - Mon Feb 10 17:32:01 1997 PST | 199 | 20 | 2 | 2450491 - Mon Feb 10 09:32:01 1997 PST | 199 | 20 | 2 | 2450490 - Mon Feb 10 09:32:01 1997 PST | 199 | 20 | 2 | 2450490 - Mon Feb 10 09:32:01 1997 PST | 199 | 20 | 2 | 2450490 - Mon Feb 10 14:32:01 1997 PST | 199 | 20 | 2 | 2450491 - Thu Jul 10 14:32:01 1997 PDT | 199 | 20 | 2 | 2450641 - Tue Jun 10 18:32:01 1997 PDT | 199 | 20 | 2 | 2450611 - Mon Feb 10 17:32:01 1997 PST | 199 | 20 | 2 | 2450491 - Tue Feb 11 17:32:01 1997 PST | 199 | 20 | 2 | 2450492 - Wed Feb 12 17:32:01 1997 PST | 199 | 20 | 2 | 2450493 - Thu Feb 13 17:32:01 1997 PST | 199 | 20 | 2 | 2450494 - Fri Feb 14 17:32:01 1997 PST | 199 | 20 | 2 | 2450495 - Sat Feb 15 17:32:01 1997 PST | 199 | 20 | 2 | 2450496 - Sun Feb 16 17:32:01 1997 PST | 199 | 20 | 2 | 2450497 - Tue Feb 16 17:32:01 0097 PST BC | -10 | -1 | -1 | 1686043 - Sat Feb 16 17:32:01 0097 PST | 9 | 1 | 1 | 1756537 - Thu Feb 16 17:32:01 0597 PST | 59 | 6 | 1 | 1939158 - Tue Feb 16 17:32:01 1097 PST | 109 | 11 | 2 | 2121779 - Sat Feb 16 17:32:01 1697 PST | 169 | 17 | 2 | 2340925 - Thu Feb 16 17:32:01 1797 PST | 179 | 18 | 2 | 2377449 - Tue Feb 16 17:32:01 1897 PST | 189 | 19 | 2 | 2413973 - Sun Feb 16 17:32:01 1997 PST | 199 | 20 | 2 | 2450497 - Sat Feb 16 17:32:01 2097 PST | 209 | 21 | 3 | 2487022 - Wed Feb 28 17:32:01 1996 PST | 199 | 20 | 2 | 2450143 - Thu Feb 29 17:32:01 1996 PST | 199 | 20 | 2 | 2450144 - Fri Mar 01 17:32:01 1996 PST | 199 | 20 | 2 | 2450145 - Mon Dec 30 17:32:01 1996 PST | 199 | 20 | 2 | 2450449 - Tue Dec 31 17:32:01 1996 PST | 199 | 20 | 2 | 2450450 - Wed Jan 01 17:32:01 1997 PST | 199 | 20 | 2 | 2450451 - Fri Feb 28 17:32:01 1997 PST | 199 | 20 | 2 | 2450509 - Sat Mar 01 17:32:01 1997 PST | 199 | 20 | 2 | 2450510 - Tue Dec 30 17:32:01 1997 PST | 199 | 20 | 2 | 2450814 - Wed Dec 31 17:32:01 1997 PST | 199 | 20 | 2 | 2450815 - Fri Dec 31 17:32:01 1999 PST | 199 | 20 | 2 | 2451545 - Sat Jan 01 17:32:01 2000 PST | 200 | 20 | 2 | 2451546 - Sun Dec 31 17:32:01 2000 PST | 200 | 20 | 2 | 2451911 - Mon Jan 01 17:32:01 2001 PST | 200 | 21 | 3 | 2451912 + timestamptz | decade | century | millennium | julian | epoch +---------------------------------+-----------+-----------+------------+-----------+-------------- + -infinity | -Infinity | -Infinity | -Infinity | -Infinity | -Infinity + infinity | Infinity | Infinity | Infinity | Infinity | Infinity + Wed Dec 31 16:00:00 1969 PST | 196 | 20 | 2 | 2440588 | 0 + Mon Feb 10 17:32:01 1997 PST | 199 | 20 | 2 | 2450491 | 855624721 + Mon Feb 10 17:32:01 1997 PST | 199 | 20 | 2 | 2450491 | 855624721 + Mon Feb 10 17:32:02 1997 PST | 199 | 20 | 2 | 2450491 | 855624722 + Mon Feb 10 17:32:01.4 1997 PST | 199 | 20 | 2 | 2450491 | 855624721.4 + Mon Feb 10 17:32:01.5 1997 PST | 199 | 20 | 2 | 2450491 | 855624721.5 + Mon Feb 10 17:32:01.6 1997 PST | 199 | 20 | 2 | 2450491 | 855624721.6 + Thu Jan 02 00:00:00 1997 PST | 199 | 20 | 2 | 2450451 | 852192000 + Thu Jan 02 03:04:05 1997 PST | 199 | 20 | 2 | 2450451 | 852203045 + Mon Feb 10 17:32:01 1997 PST | 199 | 20 | 2 | 2450491 | 855624721 + Mon Feb 10 17:32:01 1997 PST | 199 | 20 | 2 | 2450491 | 855624721 + Mon Feb 10 17:32:01 1997 PST | 199 | 20 | 2 | 2450491 | 855624721 + Mon Feb 10 17:32:01 1997 PST | 199 | 20 | 2 | 2450491 | 855624721 + Tue Jun 10 17:32:01 1997 PDT | 199 | 20 | 2 | 2450611 | 865989121 + Sat Sep 22 18:19:20 2001 PDT | 200 | 21 | 3 | 2452176 | 1001207960 + Wed Mar 15 08:14:01 2000 PST | 200 | 20 | 2 | 2451619 | 953136841 + Wed Mar 15 04:14:02 2000 PST | 200 | 20 | 2 | 2451619 | 953122442 + Wed Mar 15 02:14:03 2000 PST | 200 | 20 | 2 | 2451619 | 953115243 + Wed Mar 15 03:14:04 2000 PST | 200 | 20 | 2 | 2451619 | 953118844 + Wed Mar 15 01:14:05 2000 PST | 200 | 20 | 2 | 2451619 | 953111645 + Mon Feb 10 17:32:01 1997 PST | 199 | 20 | 2 | 2450491 | 855624721 + Mon Feb 10 17:32:01 1997 PST | 199 | 20 | 2 | 2450491 | 855624721 + Mon Feb 10 17:32:00 1997 PST | 199 | 20 | 2 | 2450491 | 855624720 + Mon Feb 10 17:32:01 1997 PST | 199 | 20 | 2 | 2450491 | 855624721 + Mon Feb 10 17:32:01 1997 PST | 199 | 20 | 2 | 2450491 | 855624721 + Mon Feb 10 17:32:01 1997 PST | 199 | 20 | 2 | 2450491 | 855624721 + Mon Feb 10 17:32:01 1997 PST | 199 | 20 | 2 | 2450491 | 855624721 + Mon Feb 10 17:32:01 1997 PST | 199 | 20 | 2 | 2450491 | 855624721 + Mon Feb 10 09:32:01 1997 PST | 199 | 20 | 2 | 2450490 | 855595921 + Mon Feb 10 09:32:01 1997 PST | 199 | 20 | 2 | 2450490 | 855595921 + Mon Feb 10 09:32:01 1997 PST | 199 | 20 | 2 | 2450490 | 855595921 + Mon Feb 10 14:32:01 1997 PST | 199 | 20 | 2 | 2450491 | 855613921 + Thu Jul 10 14:32:01 1997 PDT | 199 | 20 | 2 | 2450641 | 868570321 + Tue Jun 10 18:32:01 1997 PDT | 199 | 20 | 2 | 2450611 | 865992721 + Mon Feb 10 17:32:01 1997 PST | 199 | 20 | 2 | 2450491 | 855624721 + Tue Feb 11 17:32:01 1997 PST | 199 | 20 | 2 | 2450492 | 855711121 + Wed Feb 12 17:32:01 1997 PST | 199 | 20 | 2 | 2450493 | 855797521 + Thu Feb 13 17:32:01 1997 PST | 199 | 20 | 2 | 2450494 | 855883921 + Fri Feb 14 17:32:01 1997 PST | 199 | 20 | 2 | 2450495 | 855970321 + Sat Feb 15 17:32:01 1997 PST | 199 | 20 | 2 | 2450496 | 856056721 + Sun Feb 16 17:32:01 1997 PST | 199 | 20 | 2 | 2450497 | 856143121 + Tue Feb 16 17:32:01 0097 PST BC | -10 | -1 | -1 | 1686043 | -65192682479 + Sat Feb 16 17:32:01 0097 PST | 9 | 1 | 1 | 1756537 | -59102000879 + Thu Feb 16 17:32:01 0597 PST | 59 | 6 | 1 | 1939158 | -43323546479 + Tue Feb 16 17:32:01 1097 PST | 109 | 11 | 2 | 2121779 | -27545092079 + Sat Feb 16 17:32:01 1697 PST | 169 | 17 | 2 | 2340925 | -8610877679 + Thu Feb 16 17:32:01 1797 PST | 179 | 18 | 2 | 2377449 | -5455204079 + Tue Feb 16 17:32:01 1897 PST | 189 | 19 | 2 | 2413973 | -2299530479 + Sun Feb 16 17:32:01 1997 PST | 199 | 20 | 2 | 2450497 | 856143121 + Sat Feb 16 17:32:01 2097 PST | 209 | 21 | 3 | 2487022 | 4011903121 + Wed Feb 28 17:32:01 1996 PST | 199 | 20 | 2 | 2450143 | 825557521 + Thu Feb 29 17:32:01 1996 PST | 199 | 20 | 2 | 2450144 | 825643921 + Fri Mar 01 17:32:01 1996 PST | 199 | 20 | 2 | 2450145 | 825730321 + Mon Dec 30 17:32:01 1996 PST | 199 | 20 | 2 | 2450449 | 851995921 + Tue Dec 31 17:32:01 1996 PST | 199 | 20 | 2 | 2450450 | 852082321 + Wed Jan 01 17:32:01 1997 PST | 199 | 20 | 2 | 2450451 | 852168721 + Fri Feb 28 17:32:01 1997 PST | 199 | 20 | 2 | 2450509 | 857179921 + Sat Mar 01 17:32:01 1997 PST | 199 | 20 | 2 | 2450510 | 857266321 + Tue Dec 30 17:32:01 1997 PST | 199 | 20 | 2 | 2450814 | 883531921 + Wed Dec 31 17:32:01 1997 PST | 199 | 20 | 2 | 2450815 | 883618321 + Fri Dec 31 17:32:01 1999 PST | 199 | 20 | 2 | 2451545 | 946690321 + Sat Jan 01 17:32:01 2000 PST | 200 | 20 | 2 | 2451546 | 946776721 + Sun Dec 31 17:32:01 2000 PST | 200 | 20 | 2 | 2451911 | 978312721 + Mon Jan 01 17:32:01 2001 PST | 200 | 21 | 3 | 2451912 | 978399121 (66 rows) SELECT d1 as timestamptz, diff --git a/src/test/regress/sql/date.sql b/src/test/regress/sql/date.sql index 7a734fb1a05..1cdd6bdca12 100644 --- a/src/test/regress/sql/date.sql +++ b/src/test/regress/sql/date.sql @@ -239,8 +239,6 @@ SELECT f1 as "date", -- epoch -- SELECT EXTRACT(EPOCH FROM DATE '1970-01-01'); -- 0 -SELECT EXTRACT(EPOCH FROM TIMESTAMP '1970-01-01'); -- 0 -SELECT EXTRACT(EPOCH FROM TIMESTAMPTZ '1970-01-01+00'); -- 0 -- -- century -- @@ -276,12 +274,6 @@ SELECT EXTRACT(DECADE FROM DATE '0002-12-31 BC'); -- -1 SELECT EXTRACT(DECADE FROM DATE '0011-01-01 BC'); -- -1 SELECT EXTRACT(DECADE FROM DATE '0012-12-31 BC'); -- -2 -- --- some other types: --- --- on a timestamp. -SELECT EXTRACT(CENTURY FROM NOW())>=21 AS True; -- true -SELECT EXTRACT(CENTURY FROM TIMESTAMP '1970-03-20 04:30:00.00000'); -- 20 --- -- all possible fields -- SELECT EXTRACT(MICROSECONDS FROM DATE '2020-08-11'); @@ -327,14 +319,10 @@ select 'infinity'::date > 'today'::date as t; select '-infinity'::date < 'today'::date as t; select isfinite('infinity'::date), isfinite('-infinity'::date), isfinite('today'::date); -- --- oscillating fields from non-finite date/timestamptz: +-- oscillating fields from non-finite date: -- SELECT EXTRACT(HOUR FROM DATE 'infinity'); -- NULL SELECT EXTRACT(HOUR FROM DATE '-infinity'); -- NULL -SELECT EXTRACT(HOUR FROM TIMESTAMP 'infinity'); -- NULL -SELECT EXTRACT(HOUR FROM TIMESTAMP '-infinity'); -- NULL -SELECT EXTRACT(HOUR FROM TIMESTAMPTZ 'infinity'); -- NULL -SELECT EXTRACT(HOUR FROM TIMESTAMPTZ '-infinity'); -- NULL -- all possible fields SELECT EXTRACT(MICROSECONDS FROM DATE 'infinity'); -- NULL SELECT EXTRACT(MILLISECONDS FROM DATE 'infinity'); -- NULL @@ -352,14 +340,10 @@ SELECT EXTRACT(TIMEZONE FROM DATE 'infinity'); -- NULL SELECT EXTRACT(TIMEZONE_M FROM DATE 'infinity'); -- NULL SELECT EXTRACT(TIMEZONE_H FROM DATE 'infinity'); -- NULL -- --- monotonic fields from non-finite date/timestamptz: +-- monotonic fields from non-finite date: -- SELECT EXTRACT(EPOCH FROM DATE 'infinity'); -- Infinity SELECT EXTRACT(EPOCH FROM DATE '-infinity'); -- -Infinity -SELECT EXTRACT(EPOCH FROM TIMESTAMP 'infinity'); -- Infinity -SELECT EXTRACT(EPOCH FROM TIMESTAMP '-infinity'); -- -Infinity -SELECT EXTRACT(EPOCH FROM TIMESTAMPTZ 'infinity'); -- Infinity -SELECT EXTRACT(EPOCH FROM TIMESTAMPTZ '-infinity'); -- -Infinity -- all possible fields SELECT EXTRACT(YEAR FROM DATE 'infinity'); -- Infinity SELECT EXTRACT(DECADE FROM DATE 'infinity'); -- Infinity diff --git a/src/test/regress/sql/timestamp.sql b/src/test/regress/sql/timestamp.sql index 256b96163dd..78116a38e83 100644 --- a/src/test/regress/sql/timestamp.sql +++ b/src/test/regress/sql/timestamp.sql @@ -256,7 +256,8 @@ SELECT d1 as "timestamp", date_part( 'decade', d1) AS decade, date_part( 'century', d1) AS century, date_part( 'millennium', d1) AS millennium, - round(date_part( 'julian', d1)) AS julian + round(date_part( 'julian', d1)) AS julian, + date_part( 'epoch', d1) AS epoch FROM TIMESTAMP_TBL; -- TO_CHAR() diff --git a/src/test/regress/sql/timestamptz.sql b/src/test/regress/sql/timestamptz.sql index ae17e68a615..7ad6edcd61c 100644 --- a/src/test/regress/sql/timestamptz.sql +++ b/src/test/regress/sql/timestamptz.sql @@ -262,7 +262,8 @@ SELECT d1 as timestamptz, date_part( 'decade', d1) AS decade, date_part( 'century', d1) AS century, date_part( 'millennium', d1) AS millennium, - round(date_part( 'julian', d1)) AS julian + round(date_part( 'julian', d1)) AS julian, + date_part( 'epoch', d1) AS epoch FROM TIMESTAMPTZ_TBL; SELECT d1 as timestamptz,