pgsql: Disable transforms that replaced AT TIME ZONE with RelabelType.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Disable transforms that replaced AT TIME ZONE with RelabelType.
Date: 2017-01-18 20:22:18
Message-ID: E1cTwkM-0006Mk-Lq@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Disable transforms that replaced AT TIME ZONE with RelabelType.

These resulted in wrong answers if the relabeled argument could be matched
to an index column, as shown in bug #14504 from Evgeniy Kozlov. We might
be able to resurrect these optimizations by adjusting the planner's
treatment of RelabelType, or by adjusting btree's rules for selecting
comparison functions, but either solution will take careful analysis
and does not sound like a fit candidate for backpatching.

I left the catalog infrastructure in place and just reduced the transform
functions to always-return-NULL. This would be necessary anyway in the
back branches, and it doesn't seem important to be more invasive in HEAD.

Bug introduced by commit b8a18ad48. Back-patch to 9.5 where that came in.

Report: https://postgr.es/m/20170118144828.1432.52823@wrigleys.postgresql.org
Discussion: https://postgr.es/m/18771.1484759439@sss.pgh.pa.us

Branch
------
REL9_5_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/74e67bbad6b435310c375dd9f57c0210ef796bd0

Modified Files
--------------
src/backend/utils/adt/timestamp.c | 123 +++---------------------------
src/test/regress/expected/timestamptz.out | 19 +++++
src/test/regress/sql/timestamptz.sql | 9 +++
3 files changed, 38 insertions(+), 113 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Magnus Hagander 2017-01-18 20:42:09 pgsql: Implement array version of jsonb_delete and operator
Previous Message Robert Haas 2017-01-18 19:57:54 pgsql: Avoid use of DROP TABLE .. CASCADE in partitioning tests.