Skip to content

Commit

Permalink
Stabilize timetz test across DST transitions.
Browse files Browse the repository at this point in the history
The timetz test cases I added in commit a963283 were unintentionally
sensitive to whether or not DST is active in the PST8PDT time zone.
Thus, they'll start failing this coming weekend, as reported by
Bernhard M. Wiedemann in bug #16689.  Fortunately, DST-awareness is
not significant to the purpose of these test cases, so we can just
force them all to PDT (DST hours) to preserve stability of the
results.

Back-patch to v10, as the prior patch was.

Discussion: https://postgr.es/m/16689-57701daa23b377bf@postgresql.org
  • Loading branch information
tglsfdc committed Oct 29, 2020
1 parent f90149e commit 4a071af
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 24 deletions.
32 changes: 16 additions & 16 deletions src/test/regress/expected/timetz.out
Expand Up @@ -91,45 +91,45 @@ SELECT f1 AS "Ten" FROM TIMETZ_TBL WHERE f1 >= '00:00-07';
(12 rows)

-- Check edge cases
SELECT '23:59:59.999999'::timetz;
SELECT '23:59:59.999999 PDT'::timetz;
timetz
--------------------
23:59:59.999999-07
(1 row)

SELECT '23:59:59.9999999'::timetz; -- rounds up
SELECT '23:59:59.9999999 PDT'::timetz; -- rounds up
timetz
-------------
24:00:00-07
(1 row)

SELECT '23:59:60'::timetz; -- rounds up
SELECT '23:59:60 PDT'::timetz; -- rounds up
timetz
-------------
24:00:00-07
(1 row)

SELECT '24:00:00'::timetz; -- allowed
SELECT '24:00:00 PDT'::timetz; -- allowed
timetz
-------------
24:00:00-07
(1 row)

SELECT '24:00:00.01'::timetz; -- not allowed
ERROR: date/time field value out of range: "24:00:00.01"
LINE 1: SELECT '24:00:00.01'::timetz;
SELECT '24:00:00.01 PDT'::timetz; -- not allowed
ERROR: date/time field value out of range: "24:00:00.01 PDT"
LINE 1: SELECT '24:00:00.01 PDT'::timetz;
^
SELECT '23:59:60.01'::timetz; -- not allowed
ERROR: date/time field value out of range: "23:59:60.01"
LINE 1: SELECT '23:59:60.01'::timetz;
SELECT '23:59:60.01 PDT'::timetz; -- not allowed
ERROR: date/time field value out of range: "23:59:60.01 PDT"
LINE 1: SELECT '23:59:60.01 PDT'::timetz;
^
SELECT '24:01:00'::timetz; -- not allowed
ERROR: date/time field value out of range: "24:01:00"
LINE 1: SELECT '24:01:00'::timetz;
SELECT '24:01:00 PDT'::timetz; -- not allowed
ERROR: date/time field value out of range: "24:01:00 PDT"
LINE 1: SELECT '24:01:00 PDT'::timetz;
^
SELECT '25:00:00'::timetz; -- not allowed
ERROR: date/time field value out of range: "25:00:00"
LINE 1: SELECT '25:00:00'::timetz;
SELECT '25:00:00 PDT'::timetz; -- not allowed
ERROR: date/time field value out of range: "25:00:00 PDT"
LINE 1: SELECT '25:00:00 PDT'::timetz;
^
--
-- TIME simple math
Expand Down
16 changes: 8 additions & 8 deletions src/test/regress/sql/timetz.sql
Expand Up @@ -36,14 +36,14 @@ SELECT f1 AS "None" FROM TIMETZ_TBL WHERE f1 < '00:00-07';
SELECT f1 AS "Ten" FROM TIMETZ_TBL WHERE f1 >= '00:00-07';

-- Check edge cases
SELECT '23:59:59.999999'::timetz;
SELECT '23:59:59.9999999'::timetz; -- rounds up
SELECT '23:59:60'::timetz; -- rounds up
SELECT '24:00:00'::timetz; -- allowed
SELECT '24:00:00.01'::timetz; -- not allowed
SELECT '23:59:60.01'::timetz; -- not allowed
SELECT '24:01:00'::timetz; -- not allowed
SELECT '25:00:00'::timetz; -- not allowed
SELECT '23:59:59.999999 PDT'::timetz;
SELECT '23:59:59.9999999 PDT'::timetz; -- rounds up
SELECT '23:59:60 PDT'::timetz; -- rounds up
SELECT '24:00:00 PDT'::timetz; -- allowed
SELECT '24:00:00.01 PDT'::timetz; -- not allowed
SELECT '23:59:60.01 PDT'::timetz; -- not allowed
SELECT '24:01:00 PDT'::timetz; -- not allowed
SELECT '25:00:00 PDT'::timetz; -- not allowed

--
-- TIME simple math
Expand Down

0 comments on commit 4a071af

Please sign in to comment.