Time zone abbreviations fix

From: Joachim Wieland <joe(at)mcknight(dot)de>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Time zone abbreviations fix
Date: 2009-09-06 08:01:58
Message-ID: dc7b844e0909060101i1f05a26v11b766981b754cb2@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi all,

this is a reply to the following post:

http://archives.postgresql.org/message-id/7867.1219793881@sss.pgh.pa.us

which is also a TODO item:

[E] Incomplete itemRevise the src/timezone/tznames abbreviation files:

* to add missing abbreviations
* to find abbreviations that can be safely promoted to the Default list
* BUG #4377: casting result of timeofday() to timestamp fails in
some timezones

Second question first:

- Which abbreviations could we move to the Default file?

I have created the Default file to more or less "simulate" the
behavior of the previously hard-coded time zone abbreviations. I did
not try to list there as many time zone definitions as possible. We
have a subset that obviously 99,9% are happy with. Adding more time
zones would satisfy less than the remaining 0,1%. One reason for
creating those files was that now everybody has the freedom to add,
remove or change time zone abbreviations, so I don't see a good reason
for generally blowing up the Default file... Adding single time zone
abbreviations on request however looks fine to me.

First question second:

- Why was IDT not among the timezone definitions?

When I did the initial patch for the timezone files I have been
exporting the contents of the zic database. Since the zic database
also lists many time zone abbreviations that are no longer in use, I
tried to find out which ones are current and which ones are not. It
seems that there have been a few special cases that I missed (see
below), two of those IDT and IST. Furthermore IDT was not among the
hard coded time zone abbreviations that we previously used either. IST
was, so at that time I have manually added IST to the Default file and
have added the comment "not in zic" (which now turns out to be wrong).

Other time zone abbreviations that I missed previously and now checked:

WET 0 Africa/Casablanca - ok
IST 7200 Asia/Jerusalem - ok
WST 28800 Australia/Perth - ok
AMT -14400 America/Campo_Grande - ok
AMT -14400 America/Cuiaba - ok
BRT -10800 America/Sao_Paulo - ok
WEST 3600 Africa/Casablanca - missing - inserted in Africa.txt, edited
Europe.txt (not in Default)
IDT 10800 Asia/Jerusalem - missing - inserted in Asia.txt and to
Default (because IST is in Default)
IRDT 16200 Asia/Tehran - missing - added to Asia.txt (not to Default)
IRST 12600 Asia/Tehran - missing - added to Asia.txt (not to Default)
CWST 31500 Australia/Eucla - missing - added to Australia.txt (not to Default)

So in my opinion the TODO item is done, I have checked why IDT was
missing and I have checked similar cases. I would not move more time
zone definitions to the Default file. If anybody wants to, what are
the reasons?

Best regards,
Joachim

Attachment Content-Type Size
timezoneFiles_2nd.diff text/x-patch 5.0 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Marko Tiikkaja 2009-09-06 10:10:58 Re: Using results from INSERT ... RETURNING
Previous Message Robert Haas 2009-09-06 03:16:43 updated join removal patch