Disable transforms that replaced AT TIME ZONE with RelabelType.
authorTom Lane <[email protected]>
Wed, 18 Jan 2017 20:21:52 +0000 (15:21 -0500)
committerTom Lane <[email protected]>
Wed, 18 Jan 2017 20:21:52 +0000 (15:21 -0500)
commitb21e665f2df7ba6611d2fa6f845e4803deaf14c3
tree4ef4821f78b6731dbaf8f47ca8c5592316c7e291
parent60a8b63d24321f5162dfcaf1502936c7ed00b63e
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[email protected]
Discussion: https://postgr.es/m/18771.1484759439@sss.pgh.pa.us
src/backend/utils/adt/timestamp.c
src/test/regress/expected/timestamptz.out
src/test/regress/sql/timestamptz.sql