From 6279192f4f99591199cca48a9d6579ca37218da8 Mon Sep 17 00:00:00 2001
From: Magnus Hagander <magnus@hagander.net>
Date: Fri, 9 Apr 2010 11:46:06 +0000
Subject: [PATCH] Update list of Windows timezones we try to match localized
 names against to one that's up to date with Windows 2003R2.

---
 src/timezone/pgtz.c | 68 ++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 64 insertions(+), 4 deletions(-)

diff --git a/src/timezone/pgtz.c b/src/timezone/pgtz.c
index c11bb853227..478e891c2b4 100644
--- a/src/timezone/pgtz.c
+++ b/src/timezone/pgtz.c
@@ -6,7 +6,7 @@
  * Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/timezone/pgtz.c,v 1.69 2010/04/08 11:25:58 mha Exp $
+ *	  $PostgreSQL: pgsql/src/timezone/pgtz.c,v 1.70 2010/04/09 11:46:06 mha Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -640,7 +640,7 @@ static const struct
 	/*
 	 * This list was built from the contents of the registry at
 	 * HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time
-	 * Zones on Windows XP Professional SP2
+	 * Zones on Windows 2003 R2.
 	 *
 	 * The zones have been matched to zic timezones by looking at the cities
 	 * listed in the win32 display name (in the comment here) in most cases.
@@ -665,6 +665,10 @@ static const struct
 		"Arabic Standard Time", "Arabic Daylight Time",
 		"Asia/Baghdad"
 	},							/* (GMT+03:00) Baghdad */
+	{
+		"Argentina Standard Time", "Argentina Daylight Time",
+		"America/Buenos_Aires"
+	},							/* (GMT-03:00) Buenos Aires */
 	{
 		"Armenian Standard Time", "Armenian Daylight Time",
 		"Asia/Yerevan"
@@ -681,10 +685,18 @@ static const struct
 		"AUS Eastern Standard Time", "AUS Eastern Daylight Time",
 		"Australia/Canberra"
 	},							/* (GMT+10:00) Canberra, Melbourne, Sydney */
+	{
+		"Azerbaijan Standard Time", "Azerbaijan Daylight Time",
+		"Asia/Baku"
+	},							/* (GMT+04:00) Baku */
 	{
 		"Azores Standard Time", "Azores Daylight Time",
 		"Atlantic/Azores"
 	},							/* (GMT-01:00) Azores */
+	{
+		"Bangladesh Standard Time", "Bangladesh Daylight Time",
+		"Asia/Dhaka",
+	},							/* (GMT+06:00) Dhaka */
 	{
 		"Canada Central Standard Time", "Canada Central Daylight Time",
 		"Canada/Saskatchewan"
@@ -709,6 +721,10 @@ static const struct
 		"Central Asia Standard Time", "Central Asia Daylight Time",
 		"Asia/Dhaka"
 	},							/* (GMT+06:00) Astana, Dhaka */
+	{
+		"Central Brazilian Standard Time", "Central Brazilian Daylight Time",
+		"America/Cuiaba",
+	},							/* (GMT-04:00) Cuiaba */
 	{
 		"Central Europe Standard Time", "Central Europe Daylight Time",
 		"Europe/Belgrade"
@@ -821,10 +837,18 @@ static const struct
 		"Jordan Standard Time", "Jordan Daylight Time",
 		"Asia/Amman"
 	},							/* (GMT+02:00) Amman */
+	{
+		"Kamchatka Standard Time", "Kamchatka Daylight Time",
+		"Asia/Kamchatka",
+	},							/* (GMT+12:00) Petropavlovsk-Kamchatsky */
 	{
 		"Korea Standard Time", "Korea Daylight Time",
 		"Asia/Seoul"
 	},							/* (GMT+09:00) Seoul */
+	{
+		"Mauritius Standard Time", "Mauritius Daylight Time",
+		"Indian/Mauritius",
+	},							/* (GMT+04:00) Port Louis */
 	{
 		"Mexico Standard Time", "Mexico Daylight Time",
 		"America/Mexico_City"
@@ -846,6 +870,10 @@ static const struct
 		"Montevideo Standard Time", "Montevideo Daylight Time",
 		"America/Montevideo"
 	},							/* (GMT-03:00) Montevideo */
+	{
+		"Morocco Standard Time", "Morocco Daylight Time",
+		"Africa/Casablanca",
+	},							/* (GMT) Casablanca */
 	{
 		"Mountain Standard Time", "Mountain Daylight Time",
 		"US/Mountain"
@@ -900,6 +928,14 @@ static const struct
 		"Pacific Standard Time (Mexico)", "Pacific Daylight Time (Mexico)",
 		"America/Tijuana"
 	},							/* (GMT-08:00) Tijuana, Baja California */
+	{
+		"Pakistan Standard Time", "Pakistan Daylight Time",
+		"Asia/Karachi",
+	},							/* (GMT+05:00) Islamabad, Karachi */
+	{
+		"Paraguay Standard Time", "Paraguay Daylight Time",
+		"America/Asuncion",
+	},							/* (GMT-04:00) Asuncion */
 	{
 		"Romance Standard Time", "Romance Daylight Time",
 		"Europe/Brussels"
@@ -958,6 +994,10 @@ static const struct
 		"Tonga Standard Time", "Tonga Daylight Time",
 		"Pacific/Tongatapu"
 	},							/* (GMT+13:00) Nuku'alofa */
+	{
+		"Ulaanbaatar Standard Time", "Ulaanbaatar Daylight Time",
+		"Asia/Ulaanbaatar",
+	},							/* (GMT+08:00) Ulaanbaatar */
 	{
 		"US Eastern Standard Time", "US Eastern Daylight Time",
 		"US/Eastern"
@@ -966,6 +1006,26 @@ static const struct
 		"US Mountain Standard Time", "US Mountain Daylight Time",
 		"US/Arizona"
 	},							/* (GMT-07:00) Arizona */
+	{
+		"Coordinated Universal Time", "Coordinated Universal Time",
+		"UTC"
+	},							/* (GMT) Coordinated Universal Time */
+	{
+		"UTC+12", "UTC+12",
+		"Etc/GMT+12"
+	},							/* (GMT+12:00) Coordinated Universal Time+12 */
+	{
+		"UTC-02", "UTC-02",
+		"Etc/GMT-02"
+	},							/* (GMT-02:00) Coordinated Universal Time-02 */
+	{
+		"UTC-11", "UTC-11",
+		"Etc/GMT-11"
+	},							/* (GMT-11:00) Coordinated Universal Time-11 */
+	{
+		"Venezuela Standard Time", "Venezuela Daylight Time",
+		"America/Caracas",
+	},							/* (GMT-04:30) Caracas */
 	{
 		"Vladivostok Standard Time", "Vladivostok Daylight Time",
 		"Asia/Vladivostok"
@@ -975,10 +1035,10 @@ static const struct
 		"Australia/Perth"
 	},							/* (GMT+08:00) Perth */
 #ifdef NOT_USED
-	/* Could not find a match for this one. Excluded for now. */
+	/* Could not find a match for this one (just a guess). Excluded for now. */
 	{
 		"W. Central Africa Standard Time", "W. Central Africa Daylight Time",
-		""
+		"WAT"
 	},							/* (GMT+01:00) West Central Africa */
 #endif
 	{
-- 
GitLab