Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mWlq1-0004x2-9J for pgsql-hackers@arkaria.postgresql.org; Sat, 02 Oct 2021 20:42:29 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1mWlq0-0001Vp-90 for pgsql-hackers@arkaria.postgresql.org; Sat, 02 Oct 2021 20:42:28 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mWlq0-0001Vh-1K for pgsql-hackers@lists.postgresql.org; Sat, 02 Oct 2021 20:42:28 +0000 Received: from sss.pgh.pa.us ([66.207.139.130]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mWlpx-0004jN-TF for pgsql-hackers@postgresql.org; Sat, 02 Oct 2021 20:42:27 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.15.2/8.15.2) with ESMTP id 192KgF3a3714785; Sat, 2 Oct 2021 16:42:15 -0400 From: Tom Lane To: Thomas Munro cc: Andrew Dunstan , Andres Freund , pgsql-hackers , Peter Eisentraut , Petr Jelinek Subject: Re: 002_types.pl fails on some timezones on windows In-reply-to: <3266414.1633045628@sss.pgh.pa.us> References: <20210930183641.7lh4jhvpipvromca@alap3.anarazel.de> <3204190.1633030718@sss.pgh.pa.us> <3266414.1633045628@sss.pgh.pa.us> Comments: In-reply-to Tom Lane message dated "Thu, 30 Sep 2021 19:47:08 -0400" MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----- =_aaaaaaaaaa0" Content-ID: <3714680.1633207212.0@sss.pgh.pa.us> Date: Sat, 02 Oct 2021 16:42:15 -0400 Message-ID: <3714784.1633207335@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk ------- =_aaaaaaaaaa0 Content-Type: text/plain; charset="us-ascii" Content-ID: <3714680.1633207212.1@sss.pgh.pa.us> I wrote: > Oh, thanks for the pointer to CLDR! I tried re-generating our data > based on theirs, and ended up with the attached draft patch. Hearing no objections, pushed after another round of review and a couple more fixes. For the archives' sake, here are the remaining discrepancies between our mapping and CLDR's entries for "territory 001", which I take to be their recommended defaults: * Our documented decision to map "Central America" to "CST6", on the grounds that most of Central America doesn't actually observe DST nowadays. * Now-documented decision to map "Greenwich Standard Time" to Europe/London, not Atlantic/Reykjavik as they have it. * The miscellaneous deltas shown in the attached diff, which in many cases boil down to "we chose the first name mentioned for the zone, while CLDR did something else". I felt that our historical mappings of these cases weren't wrong enough to justify any political flak I might take for changing them. OTOH, maybe we should just say "we follow CLDR" and be done with it. regards, tom lane ------- =_aaaaaaaaaa0 Content-Type: text/x-diff; name="remaining-cldr-discrepancies.patch"; charset="us-ascii" Content-ID: <3714680.1633207212.2@sss.pgh.pa.us> Content-Description: remaining-cldr-discrepancies.patch --- findtimezone.c 2021-10-02 15:37:17.309929827 -0400 +++ cldr_transformed.c 2021-10-02 14:32:32.359818338 -0400 @@ -888,7 +131,7 @@ static const struct { /* (UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague */ "Central Europe Standard Time", "Central Europe Daylight Time", - "Europe/Belgrade" + "Europe/Budapest" }, { /* (UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb */ @@ -898,7 +141,7 @@ static const struct { /* (UTC+11:00) Solomon Is., New Caledonia */ "Central Pacific Standard Time", "Central Pacific Daylight Time", - "Pacific/Noumea" + "Pacific/Guadalcanal" }, { /* (UTC-06:00) Central Time (US & Canada) */ @@ -988,7 +226,7 @@ static const struct { /* (UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius */ "FLE Standard Time", "FLE Daylight Time", - "Europe/Helsinki" + "Europe/Kiev" }, { /* (UTC+04:00) Tbilisi */ @@ -1006,7 +244,7 @@ static const struct { /* (UTC+02:00) Athens, Bucharest */ "GTB Standard Time", "GTB Daylight Time", - "Europe/Athens" + "Europe/Bucharest" }, { /* (UTC-05:00) Haiti */ @@ -1244,7 +441,7 @@ static const struct { /* (UTC+01:00) Brussels, Copenhagen, Madrid, Paris */ "Romance Standard Time", "Romance Daylight Time", - "Europe/Brussels" + "Europe/Paris" }, { /* (UTC+11:00) Chokurdakh */ @@ -1349,7 +491,7 @@ static const struct { /* (UTC+13:00) Samoa */ "Samoa Standard Time", "Samoa Daylight Time", - "Pacific/Samoa" + "Pacific/Apia" }, { /* (UTC+00:00) Sao Tome */ @@ -1519,7 +661,7 @@ static const struct { /* (UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna */ "W. Europe Standard Time", "W. Europe Daylight Time", - "CET" + "Europe/Berlin" }, { /* (UTC+07:00) Hovd */ @@ -1533,7 +675,7 @@ static const struct { /* (UTC+10:00) Guam, Port Moresby */ "West Pacific Standard Time", "West Pacific Daylight Time", - "Pacific/Guam" + "Pacific/Port_Moresby" }, { /* (UTC+09:00) Yakutsk */ ------- =_aaaaaaaaaa0--