]> granicus.if.org Git - postgresql/commitdiff
Fix our mapping of Windows timezones for Central America.
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 24 Sep 2011 02:12:36 +0000 (22:12 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 24 Sep 2011 02:13:03 +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 b29a781cf8b57c277a113752785498dfe049a974..fcca754fd14e20a7e320c069a7348a3acbba663a 100644 (file)
@@ -716,9 +716,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",