From cb25bf70476afbf086ff334563ccfa7bff5a0ae1 Mon Sep 17 00:00:00 2001 From: Bruce Momjian <bruce@momjian.us> Date: Thu, 26 Mar 2009 02:40:37 +0000 Subject: [PATCH] Re-add release notes for release 8.3.7. --- doc/src/sgml/release.sgml | 225 +++++++++++++++++++++++++++++++++++++- 1 file changed, 224 insertions(+), 1 deletion(-) diff --git a/doc/src/sgml/release.sgml b/doc/src/sgml/release.sgml index 124a5960156..8354e1e4e08 100644 --- a/doc/src/sgml/release.sgml +++ b/doc/src/sgml/release.sgml @@ -1,4 +1,4 @@ -<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.594 2009/03/26 01:48:27 momjian Exp $ --> +<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.595 2009/03/26 02:40:37 momjian Exp $ --> <!-- Typical markup: @@ -2620,6 +2620,229 @@ do it for earlier branch release files. </sect2> </sect1> + <sect1 id="release-8-3-7"> + <title>Release 8.3.7</title> + + <note> + <title>Release date</title> + <simpara>2009-03-16</simpara> + </note> + + <para> + This release contains a variety of fixes from 8.3.6. + For information about new features in the 8.3 major release, see + <xref linkend="release-8-3">. + </para> + + <sect2> + <title>Migration to Version 8.3.7</title> + + <para> + A dump/restore is not required for those running 8.3.X. + However, if you are upgrading from a version earlier than 8.3.5, + see the release notes for 8.3.5. + </para> + + </sect2> + + <sect2> + <title>Changes</title> + + <itemizedlist> + + <listitem> + <para> + Prevent error recursion crashes when encoding conversion fails (Tom) + </para> + + <para> + This change extends fixes made in the last two minor releases for + related failure scenarios. The previous fixes were narrowly tailored + for the original problem reports, but we have now recognized that + <emphasis>any</> error thrown by an encoding conversion function could + potentially lead to infinite recursion while trying to report the + error. The solution therefore is to disable translation and encoding + conversion and report the plain-ASCII form of any error message, + if we find we have gotten into a recursive error reporting situation. + (CVE-2009-0922) + </para> + </listitem> + + <listitem> + <para> + Disallow <command>CREATE CONVERSION</> with the wrong encodings + for the specified conversion function (Heikki) + </para> + + <para> + This prevents one possible scenario for encoding conversion failure. + The previous change is a backstop to guard against other kinds of + failures in the same area. + </para> + </listitem> + + <listitem> + <para> + Fix <function>xpath()</> to not modify the path expression unless + necessary, and to make a saner attempt at it when necessary (Andrew) + </para> + + <para> + The SQL standard suggests that <function>xpath</> should work on data + that is a document fragment, but <application>libxml</> doesn't support + that, and indeed it's not clear that this is sensible according to the + XPath standard. <function>xpath</> attempted to work around this + mismatch by modifying both the data and the path expression, but the + modification was buggy and could cause valid searches to fail. Now, + <function>xpath</> checks whether the data is in fact a well-formed + document, and if so invokes <application>libxml</> with no change to the + data or path expression. Otherwise, a different modification method + that is somewhat less likely to fail is used. + </para> + + <note> + <para> + The new modification method is still not 100% satisfactory, and it + seems likely that no real solution is possible. This patch should + therefore be viewed as a band-aid to keep from breaking existing + applications unnecessarily. It is likely that + <productname>PostgreSQL</> 8.4 will simply reject use of + <function>xpath</> on data that is not a well-formed document. + </para> + </note> + </listitem> + + <listitem> + <para> + Fix core dump when <function>to_char()</> is given format codes that + are inappropriate for the type of the data argument (Tom) + </para> + </listitem> + + <listitem> + <para> + Fix possible failure in text search when C locale is used with + a multi-byte encoding (Teodor) + </para> + + <para> + Crashes were possible on platforms where <type>wchar_t</> is narrower + than <type>int</>; Windows in particular. + </para> + </listitem> + + <listitem> + <para> + Fix extreme inefficiency in text search parser's handling of an + email-like string containing multiple <literal>@</> characters (Heikki) + </para> + </listitem> + + <listitem> + <para> + Fix planner problem with sub-<command>SELECT</> in the output list + of a larger subquery (Tom) + </para> + + <para> + The known symptom of this bug is a <quote>failed to locate grouping + columns</> error that is dependent on the datatype involved; + but there could be other issues as well. + </para> + </listitem> + + <listitem> + <para> + Fix decompilation of <literal>CASE WHEN</> with an implicit coercion + (Tom) + </para> + + <para> + This mistake could lead to Assert failures in an Assert-enabled build, + or an <quote>unexpected CASE WHEN clause</> error message in other + cases, when trying to examine or dump a view. + </para> + </listitem> + + <listitem> + <para> + Fix possible misassignment of the owner of a TOAST table's rowtype (Tom) + </para> + + <para> + If <command>CLUSTER</> or a rewriting variant of <command>ALTER TABLE</> + were executed by someone other than the table owner, the + <structname>pg_type</> entry for the table's TOAST table would end up + marked as owned by that someone. This caused no immediate problems, + since the permissions on the TOAST rowtype aren't examined by any + ordinary database operation. However, it could lead to unexpected + failures if one later tried to drop the role that issued the command + (in 8.1 or 8.2), or <quote>owner of data type appears to be invalid</> + warnings from <application>pg_dump</> after having done so (in 8.3). + </para> + </listitem> + + <listitem> + <para> + Change <command>UNLISTEN</> to exit quickly if the current session has + never executed any <command>LISTEN</> command (Tom) + </para> + + <para> + Most of the time this is not a particularly useful optimization, but + since <command>DISCARD ALL</> invokes <command>UNLISTEN</>, the previous + coding caused a substantial performance problem for applications that + made heavy use of <command>DISCARD ALL</>. + </para> + </listitem> + + <listitem> + <para> + Fix PL/pgSQL to not treat <literal>INTO</> after <command>INSERT</> as + an INTO-variables clause anywhere in the string, not only at the start; + in particular, don't fail for <command>INSERT INTO</> within + <command>CREATE RULE</> (Tom) + </para> + </listitem> + + <listitem> + <para> + Clean up PL/pgSQL error status variables fully at block exit + (Ashesh Vashi and Dave Page) + </para> + + <para> + This is not a problem for PL/pgSQL itself, but the omission could cause + the PL/pgSQL Debugger to crash while examining the state of a function. + </para> + </listitem> + + <listitem> + <para> + Retry failed calls to <function>CallNamedPipe()</> on Windows + (Steve Marshall, Magnus) + </para> + + <para> + It appears that this function can sometimes fail transiently; + we previously treated any failure as a hard error, which could + confuse <command>LISTEN</>/<command>NOTIFY</> as well as other + operations. + </para> + </listitem> + + <listitem> + <para> + Add <literal>MUST</> (Mauritius Island Summer Time) to the default list + of known timezone abbreviations (Xavier Bugaud) + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-8-3-6"> <title>Release 8.3.6</title> -- GitLab