diff --git a/postgresql-timetz.patch b/postgresql-timetz.patch new file mode 100644 index 0000000..1337335 --- /dev/null +++ b/postgresql-timetz.patch @@ -0,0 +1,109 @@ +From: Tom Lane +Date: Thu, 29 Oct 2020 19:28:14 +0000 (-0400) +Subject: Stabilize timetz test across DST transitions. +X-Git-Url: http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff_plain;h=4a071afbd056282746a5bc9362e87f579a56402d;hp=f90149e6285aaae6b48559afce1bd638ee26c33e + +Stabilize timetz test across DST transitions. + +The timetz test cases I added in commit a9632830b 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 +--- + +--- src/test/regress/expected/timetz.out.orig ++++ src/test/regress/expected/timetz.out +@@ -91,45 +91,45 @@ SELECT f1 AS "Ten" FROM TIMETZ_TBL WHERE + (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 +--- src/test/regress/sql/timetz.sql.orig ++++ src/test/regress/sql/timetz.sql +@@ -36,14 +36,14 @@ SELECT f1 AS "None" FROM TIMETZ_TBL WHER + 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 diff --git a/postgresql12.changes b/postgresql12.changes index 6156b95..05b0536 100644 --- a/postgresql12.changes +++ b/postgresql12.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Nov 3 13:54:38 UTC 2020 - Reinhard Max + +- Fix a DST problem in the test suite: postgresql-timetz.patch + https://postgr.es/m/16689-57701daa23b377bf@postgresql.org + ------------------------------------------------------------------- Fri Sep 25 07:34:28 UTC 2020 - Reinhard Max diff --git a/postgresql12.spec b/postgresql12.spec index 1809509..4c658c1 100644 --- a/postgresql12.spec +++ b/postgresql12.spec @@ -141,6 +141,7 @@ Patch4: postgresql-plperl-keep-rpath.patch Patch6: postgresql-testsuite-int8.sql.patch Patch8: postgresql-testsuite-keep-results-file.patch Patch9: postgresql-var-run-socket.patch +Patch10: postgresql-timetz.patch URL: https://www.postgresql.org/ BuildRoot: %{_tmppath}/%{name}-%{version}-build Provides: postgresql = %version-%release @@ -448,6 +449,7 @@ touch -r configure tmp %patch6 %patch8 -p1 %patch9 +%patch10 touch -r tmp configure rm tmp find src/test/ -name '*.orig' -delete