pgsql: Fix AT TIME ZONE (in all three variants) so that we first try to - Mailing list pgsql-committers

From tgl@postgresql.org (Tom Lane)
Subject pgsql: Fix AT TIME ZONE (in all three variants) so that we first try to
Date
Msg-id 20080707181012.874C9754858@cvs.postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
Fix AT TIME ZONE (in all three variants) so that we first try to interpret
the timezone argument as a timezone abbreviation, and only try it as a full
timezone name if that fails.  The zic database has four zones (CET, EET, MET,
WET) that are full daylight-savings zones and yet have names that are the
same as their abbreviations for standard time, resulting in ambiguity.
In the timestamp input functions we resolve the ambiguity by preferring the
abbreviation, and AT TIME ZONE should work the same way.  (No functionality
is lost because the zic database also has other names for these zones, eg
Europe/Zurich.)  Per gripe from Jaromir Talir.

Backpatch to 8.1.  Older releases did not have the issue because AT TIME ZONE
only accepted abbreviations not zone names.  (Thus, this patch also arguably
fixes a compatibility botch introduced at 8.1: in ambiguous cases we now
behave the same as 8.0 did.)

Tags:
----
REL8_1_STABLE

Modified Files:
--------------
    pgsql/src/backend/utils/adt:
        date.c (r1.122.2.2 -> r1.122.2.3)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/date.c?r1=1.122.2.2&r2=1.122.2.3)
        timestamp.c (r1.157.2.2 -> r1.157.2.3)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/timestamp.c?r1=1.157.2.2&r2=1.157.2.3)

pgsql-committers by date:

Previous
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: Fix AT TIME ZONE (in all three variants) so that we first try to
Next
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: Fix estimate_num_groups() to assume that GROUP BY expressions