E.157. Release 8.2.11

[Note]

Release Date

2008-11-03

This release contains a variety of fixes from 8.2.10. For information about new features in the 8.2 major release, see Section E.168, « Release 8.2 ».

E.157.1. Migration to Version 8.2.11

A dump/restore is not required for those running 8.2.X. However, if you are upgrading from a version earlier than 8.2.7, see Section E.161, « Release 8.2.7 ». Also, if you were running a previous 8.2.X release, it is recommended to REINDEX all GiST indexes after the upgrade.

E.157.2. Changes

  • Fix GiST index corruption due to marking the wrong index entry « dead » after a deletion (Teodor)

    This would result in index searches failing to find rows they should have found. Corrupted indexes can be fixed with REINDEX.

  • Fix backend crash when the client encoding cannot represent a localized error message (Tom)

    We have addressed similar issues before, but it would still fail if the « character has no equivalent » message itself couldn't be converted. The fix is to disable localization and send the plain ASCII error message when we detect such a situation.

  • Fix possible crash when deeply nested functions are invoked from a trigger (Tom)

  • Improve optimization of expression IN (expression-list) queries (Tom, per an idea from Robert Haas)

    Cases in which there are query variables on the right-hand side had been handled less efficiently in 8.2.x and 8.3.x than in prior versions. The fix restores 8.1 behavior for such cases.

  • Fix mis-expansion of rule queries when a sub-SELECT appears in a function call in FROM, a multi-row VALUES list, or a RETURNING list (Tom)

    The usual symptom of this problem is an « unrecognized node type » error.

  • Fix memory leak during rescan of a hashed aggregation plan (Neil)

  • Ensure an error is reported when a newly-defined PL/pgSQL trigger function is invoked as a normal function (Tom)

  • Prevent possible collision of relfilenode numbers when moving a table to another tablespace with ALTER SET TABLESPACE (Heikki)

    The command tried to re-use the existing filename, instead of picking one that is known unused in the destination directory.

  • Fix incorrect tsearch2 headline generation when single query item matches first word of text (Sushant Sinha)

  • Fix improper display of fractional seconds in interval values when using a non-ISO datestyle in an --enable-integer-datetimes build (Ron Mayer)

  • Ensure SPI_getvalue and SPI_getbinval behave correctly when the passed tuple and tuple descriptor have different numbers of columns (Tom)

    This situation is normal when a table has had columns added or removed, but these two functions didn't handle it properly. The only likely consequence is an incorrect error indication.

  • Fix ecpg's parsing of CREATE ROLE (Michael)

  • Fix recent breakage of pg_ctl restart (Tom)

  • Ensure pg_control is opened in binary mode (Itagaki Takahiro)

    pg_controldata and pg_resetxlog did this incorrectly, and so could fail on Windows.

  • Update time zone data files to tzdata release 2008i (for DST law changes in Argentina, Brazil, Mauritius, Syria)