E.211. Release 8.2.12
Release date: 2009-02-02
This release contains a variety of fixes from 8.2.11. For information about new features in the 8.2 major release, see Section E.223 .
E.211.1. Migration to Version 8.2.12
A dump/restore is not required for those running 8.2.X. However, if you are upgrading from a version earlier than 8.2.11, see Section E.212 .
E.211.2. Changes
-
Improve handling of URLs in
headline()
function (Teodor) -
Improve handling of overlength headlines in
headline()
function (Teodor) -
Prevent possible Assert failure or misconversion if an encoding conversion is created with the wrong conversion function for the specified pair of encodings (Tom, Heikki)
-
Fix possible Assert failure if a statement executed in PL/pgSQL is rewritten into another kind of statement, for example if an
INSERT
is rewritten into anUPDATE
(Heikki) -
Ensure that a snapshot is available to datatype input functions (Tom)
This primarily affects domains that are declared with
CHECK
constraints involving user-defined stable or immutable functions. Such functions typically fail if no snapshot has been set. -
Make it safer for SPI-using functions to be used within datatype I/O; in particular, to be used in domain check constraints (Tom)
-
Avoid unnecessary locking of small tables in
VACUUM
(Heikki) -
Fix a problem that made
UPDATE RETURNING tableoid
return zero instead of the correct OID (Tom) -
Fix planner misestimation of selectivity when transitive equality is applied to an outer-join clause (Tom)
This could result in bad plans for queries like
... from a left join b on a.a1 = b.b1 where a.a1 = 42 ...
-
Improve optimizer's handling of long
IN
lists (Tom)This change avoids wasting large amounts of time on such lists when constraint exclusion is enabled.
-
Ensure that the contents of a holdable cursor don't depend on the contents of TOAST tables (Tom)
Previously, large field values in a cursor result might be represented as TOAST pointers, which would fail if the referenced table got dropped before the cursor is read, or if the large value is deleted and then vacuumed away. This cannot happen with an ordinary cursor, but it could with a cursor that is held past its creating transaction.
-
Fix memory leak when a set-returning function is terminated without reading its whole result (Tom)
-
Fix
contrib/dblink
'sdblink_get_result(text,bool)
function (Joe) -
Fix possible garbage output from
contrib/sslinfo
functions (Tom) -
Fix configure script to properly report failure when unable to obtain linkage information for PL/Perl (Andrew)
-
Make all documentation reference
pgsql-bugs
and/orpgsql-hackers
as appropriate, instead of the now-decommissionedpgsql-ports
andpgsql-patches
mailing lists (Tom) -
Update time zone data files to tzdata release 2009a (for Kathmandu and historical DST corrections in Switzerland, Cuba)