* New upstream bug fix release: (LP: #326372)
- Make "DISCARD ALL" release advisory locks, in addition to
everything it already did. This was decided to be the most
appropriate behavior. This could affect existing applications,
however.
- Fix whole-index GiST scans to work correctly. This error could
cause rows to be lost if a table is clustered on a GiST index.
- Fix crash of xmlconcat(NULL).
- Fix possible crash in ispell dictionary if high-bit-set characters
are used as flags. This is known to be done by one widely
available Norwegian dictionary, and the same condition may exist
in others. (Closes: #513580)
- Fix misordering of pg_dump output for composite types. The most
likely problem was for user-defined operator classes to be
dumped after indexes or views that needed them.
- Improve handling of URLs in headline() function.
- Improve handling of overlength headlines in headline() function.
- Prevent possible Assert failure or misconversion if an encoding
conversion is created with the wrong conversion function for the
specified pair of encodings.
- 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 an "UPDATE".
- Ensure that a snapshot is available to datatype input functions.
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.
- Avoid unnecessary locking of small tables in "VACUUM".
- Fix a problem that sometimes kept "ALTER TABLE ENABLE/DISABLE RULE"
from being recognized by active sessions.
- Fix a problem that made UPDATE RETURNING tableoid return zero
instead of the correct OID.
- Allow functions declared as taking ANYARRAY to work on the
pg_statistic columns of that type.
This used to work, but was unintentionally broken in 8.3.
- Fix planner misestimation of selectivity when transitive equality
is applied to an outer-join clause.
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. This change
avoids wasting large amounts of time on such lists when
constraint exclusion is enabled.
- Prevent synchronous scan during GIN index build. Because GIN is
optimized for inserting tuples in increasing TID order, choosing
to use a synchronous scan could slow the build by a factor of
three or more.
- Ensure that the contents of a holdable cursor don't depend on the
contents of TOAST tables. 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.
- Fix encoding conversion problems in XML functions when the database
encoding isn't UTF-8.
- Fix "contrib/dblink"'s dblink_get_result(text,bool) function.
- Fix possible garbage output from "contrib/sslinfo" functions.
- Fix incorrect behavior of "contrib/tsearch2" compatibility trigger
when it's fired more than once in a command.
- Fix possible mis-signaling in autovacuum.
- Fix ecpg's handling of varchar structs.
- Make all documentation reference pgsql-bugs and/or pgsql-hackers as
appropriate, instead of the now-decommissioned pgsql-ports and
pgsql-patches mailing lists.
-- Martin Pitt <email address hidden> Fri, 06 Feb 2009 23:51:09 +0100
This bug was fixed in the package postgresql-8.3 - 8.3.6-0ubuntu8.04
---------------
postgresql-8.3 (8.3.6-0ubuntu8.04) hardy-proposed; urgency=low
* New upstream bug fix release: (LP: #326372) get_result( text,bool) function.
- Make "DISCARD ALL" release advisory locks, in addition to
everything it already did. This was decided to be the most
appropriate behavior. This could affect existing applications,
however.
- Fix whole-index GiST scans to work correctly. This error could
cause rows to be lost if a table is clustered on a GiST index.
- Fix crash of xmlconcat(NULL).
- Fix possible crash in ispell dictionary if high-bit-set characters
are used as flags. This is known to be done by one widely
available Norwegian dictionary, and the same condition may exist
in others. (Closes: #513580)
- Fix misordering of pg_dump output for composite types. The most
likely problem was for user-defined operator classes to be
dumped after indexes or views that needed them.
- Improve handling of URLs in headline() function.
- Improve handling of overlength headlines in headline() function.
- Prevent possible Assert failure or misconversion if an encoding
conversion is created with the wrong conversion function for the
specified pair of encodings.
- 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 an "UPDATE".
- Ensure that a snapshot is available to datatype input functions.
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.
- Avoid unnecessary locking of small tables in "VACUUM".
- Fix a problem that sometimes kept "ALTER TABLE ENABLE/DISABLE RULE"
from being recognized by active sessions.
- Fix a problem that made UPDATE RETURNING tableoid return zero
instead of the correct OID.
- Allow functions declared as taking ANYARRAY to work on the
pg_statistic columns of that type.
This used to work, but was unintentionally broken in 8.3.
- Fix planner misestimation of selectivity when transitive equality
is applied to an outer-join clause.
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. This change
avoids wasting large amounts of time on such lists when
constraint exclusion is enabled.
- Prevent synchronous scan during GIN index build. Because GIN is
optimized for inserting tuples in increasing TID order, choosing
to use a synchronous scan could slow the build by a factor of
three or more.
- Ensure that the contents of a holdable cursor don't depend on the
contents of TOAST tables. 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.
- Fix encoding conversion problems in XML functions when the database
encoding isn't UTF-8.
- Fix "contrib/dblink"'s dblink_
- Fix possible garbage output from "contrib/sslinfo" functions.
- Fix incorrect behavior of "contrib/tsearch2" compatibility trigger
when it's fired more than once in a command.
- Fix possible mis-signaling in autovacuum.
- Fix ecpg's handling of varchar structs.
- Make all documentation reference pgsql-bugs and/or pgsql-hackers as
appropriate, instead of the now-decommissioned pgsql-ports and
pgsql-patches mailing lists.
-- Martin Pitt <email address hidden> Fri, 06 Feb 2009 23:51:09 +0100