E.173. Release 8.3.5
Release date: 2008-11-03
This release contains a variety of fixes from 8.3.4. For information about new features in the 8.3 major release, see Section E.178 .
E.173.1. Migration to Version 8.3.5
A dump/restore is not required for those running 8.3.X.
However, if you are upgrading from a version earlier than 8.3.1,
see
Section E.177
. Also, if you were running a previous
8.3.X release, it is recommended to
REINDEX
all GiST
indexes after the upgrade.
E.173.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 in
bytea
-to-XML mapping (Michael McMaster) -
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 inFROM
, a multi-rowVALUES
list, or aRETURNING
list (Tom)The usual symptom of this problem is an " unrecognized node type " error.
-
Fix Assert failure during rescan of an
IS NULL
search of a GiST index (Teodor) -
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)
-
Force a checkpoint before
CREATE DATABASE
starts to copy files (Heikki)This prevents a possible failure if files had recently been deleted in the source database.
-
Prevent possible collision of
relfilenode
numbers when moving a table to another tablespace withALTER 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 text search 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) -
Make
ILIKE
compare characters case-insensitively even when they're escaped (Andrew) -
Ensure
DISCARD
is handled properly by statement logging (Tom) -
Fix incorrect logging of last-completed-transaction time during PITR recovery (Tom)
-
Ensure
SPI_getvalue
andSPI_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.
-
Mark
SessionReplicationRole
asPGDLLIMPORT
so it can be used by Slony on Windows (Magnus) -
Fix small memory leak when using libpq 's
gsslib
parameter (Magnus)The space used by the parameter string was not freed at connection close.
-
Ensure libgssapi is linked into libpq if needed (Markus Schaaf)
-
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)