Fix our mapping of Windows timezones for Central America.
authorTom Lane <[email protected]>
Sat, 24 Sep 2011 02:12:36 +0000 (22:12 -0400)
committerTom Lane <[email protected]>
Sat, 24 Sep 2011 02:13:35 +0000 (22:13 -0400)
We were mapping "Central America Standard Time" to "CST6CDT", which seems
entirely wrong, because according to the Olson timezone database noplace
in Central America observes daylight savings time on any regular basis ---
and certainly not according to the USA DST rules that are implied by
"CST6CDT".  (Mexico is an exception, but they can be disregarded since
they have a separate timezone name in Windows.)  So, map this zone name to
plain "CST6", which will provide a fixed UTC offset.

As written, this patch will also result in mapping "Central America
Daylight Time" to CST6.  I considered hacking things so that would still
map to CST6CDT, but it seems it would confuse win32tzlist.pl to put those
two names in separate entries.  Since there's little evidence that any
such zone name is used in the wild, much less that CST6CDT would be a good
match for it, I'm not too worried about what we do with it.

Per complaint from Pratik Chirania.

src/timezone/pgtz.c

index ec2e39fd06da01ff97bf130b7b1b17079d5064bd..091e3b0f679a8c6e4ed7f2a2f37f01e90310cc68 100644 (file)
@@ -713,9 +713,10 @@ static const struct
                "Cen. Australia Standard Time", "Cen. Australia Daylight Time",
                "Australia/Adelaide"
        },                                                      /* (GMT+09:30) Adelaide */
+       /* Central America (other than Mexico) generally does not observe DST */
        {
                "Central America Standard Time", "Central America Daylight Time",
-               "CST6CDT"
+               "CST6"
        },                                                      /* (GMT-06:00) Central America */
        {
                "Central Asia Standard Time", "Central Asia Daylight Time",