Linux SRV-16 6.18.44-paas #1 SMP PREEMPT_DYNAMIC Thu Aug 13 10:08:12 UTC 2026 x86_64
/
proc
/
thread-self
/
root
/
opt
/
postgresql-11
/
doc
/
html
/
//proc/thread-self/root/opt/postgresql-11/doc/html/release-8-3-7.html
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>E.198. Release 8.3.7</title><link rel="stylesheet" type="text/css" href="stylesheet.css" /><link rev="made" href="pgsql-docs@postgresql.org" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="prev" href="release-8-3-8.html" title="E.197. Release 8.3.8" /><link rel="next" href="release-8-3-6.html" title="E.199. Release 8.3.6" /></head><body><div xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="5" align="center">E.198. Release 8.3.7</th></tr><tr><td width="10%" align="left"><a accesskey="p" href="release-8-3-8.html" title="E.197. Release 8.3.8">Prev</a> </td><td width="10%" align="left"><a accesskey="u" href="release.html" title="Appendix E. Release Notes">Up</a></td><th width="60%" align="center">Appendix E. Release Notes</th><td width="10%" align="right"><a accesskey="h" href="index.html" title="PostgreSQL 11.1 Documentation">Home</a></td><td width="10%" align="right"> <a accesskey="n" href="release-8-3-6.html" title="E.199. Release 8.3.6">Next</a></td></tr></table><hr></hr></div><div class="sect1" id="RELEASE-8-3-7"><div class="titlepage"><div><div><h2 class="title" style="clear: both">E.198. Release 8.3.7</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="sect2"><a href="release-8-3-7.html#id-1.11.6.202.4">E.198.1. Migration to Version 8.3.7</a></span></dt><dt><span class="sect2"><a href="release-8-3-7.html#id-1.11.6.202.5">E.198.2. Changes</a></span></dt></dl></div><p><strong>Release date: </strong>2009-03-16</p><p> This release contains a variety of fixes from 8.3.6. For information about new features in the 8.3 major release, see <a class="xref" href="release-8-3.html" title="E.205. Release 8.3">Section E.205</a>. </p><div class="sect2" id="id-1.11.6.202.4"><div class="titlepage"><div><div><h3 class="title">E.198.1. Migration to Version 8.3.7</h3></div></div></div><p> 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 <a class="xref" href="release-8-3-5.html" title="E.200. Release 8.3.5">Section E.200</a>. </p></div><div class="sect2" id="id-1.11.6.202.5"><div class="titlepage"><div><div><h3 class="title">E.198.2. Changes</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p> Prevent error recursion crashes when encoding conversion fails (Tom) </p><p> 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 <span class="emphasis"><em>any</em></span> 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) </p></li><li class="listitem"><p> Disallow <code class="command">CREATE CONVERSION</code> with the wrong encodings for the specified conversion function (Heikki) </p><p> 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. </p></li><li class="listitem"><p> Fix <code class="function">xpath()</code> to not modify the path expression unless necessary, and to make a saner attempt at it when necessary (Andrew) </p><p> The SQL standard suggests that <code class="function">xpath</code> should work on data that is a document fragment, but <span class="application">libxml</span> doesn't support that, and indeed it's not clear that this is sensible according to the XPath standard. <code class="function">xpath</code> 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, <code class="function">xpath</code> checks whether the data is in fact a well-formed document, and if so invokes <span class="application">libxml</span> with no change to the data or path expression. Otherwise, a different modification method that is somewhat less likely to fail is used. </p><div class="note"><h3 class="title">Note</h3><p> 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 <span class="productname">PostgreSQL</span> 8.4 will simply reject use of <code class="function">xpath</code> on data that is not a well-formed document. </p></div></li><li class="listitem"><p> Fix core dump when <code class="function">to_char()</code> is given format codes that are inappropriate for the type of the data argument (Tom) </p></li><li class="listitem"><p> Fix possible failure in text search when C locale is used with a multi-byte encoding (Teodor) </p><p> Crashes were possible on platforms where <code class="type">wchar_t</code> is narrower than <code class="type">int</code>; Windows in particular. </p></li><li class="listitem"><p> Fix extreme inefficiency in text search parser's handling of an email-like string containing multiple <code class="literal">@</code> characters (Heikki) </p></li><li class="listitem"><p> Fix planner problem with sub-<code class="command">SELECT</code> in the output list of a larger subquery (Tom) </p><p> The known symptom of this bug is a <span class="quote">“<span class="quote">failed to locate grouping columns</span>”</span> error that is dependent on the datatype involved; but there could be other issues as well. </p></li><li class="listitem"><p> Fix decompilation of <code class="literal">CASE WHEN</code> with an implicit coercion (Tom) </p><p> This mistake could lead to Assert failures in an Assert-enabled build, or an <span class="quote">“<span class="quote">unexpected CASE WHEN clause</span>”</span> error message in other cases, when trying to examine or dump a view. </p></li><li class="listitem"><p> Fix possible misassignment of the owner of a TOAST table's rowtype (Tom) </p><p> If <code class="command">CLUSTER</code> or a rewriting variant of <code class="command">ALTER TABLE</code> were executed by someone other than the table owner, the <code class="structname">pg_type</code> 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 <span class="quote">“<span class="quote">owner of data type appears to be invalid</span>”</span> warnings from <span class="application">pg_dump</span> after having done so (in 8.3). </p></li><li class="listitem"><p> Change <code class="command">UNLISTEN</code> to exit quickly if the current session has never executed any <code class="command">LISTEN</code> command (Tom) </p><p> Most of the time this is not a particularly useful optimization, but since <code class="command">DISCARD ALL</code> invokes <code class="command">UNLISTEN</code>, the previous coding caused a substantial performance problem for applications that made heavy use of <code class="command">DISCARD ALL</code>. </p></li><li class="listitem"><p> Fix PL/pgSQL to not treat <code class="literal">INTO</code> after <code class="command">INSERT</code> as an INTO-variables clause anywhere in the string, not only at the start; in particular, don't fail for <code class="command">INSERT INTO</code> within <code class="command">CREATE RULE</code> (Tom) </p></li><li class="listitem"><p> Clean up PL/pgSQL error status variables fully at block exit (Ashesh Vashi and Dave Page) </p><p> 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. </p></li><li class="listitem"><p> Retry failed calls to <code class="function">CallNamedPipe()</code> on Windows (Steve Marshall, Magnus) </p><p> It appears that this function can sometimes fail transiently; we previously treated any failure as a hard error, which could confuse <code class="command">LISTEN</code>/<code class="command">NOTIFY</code> as well as other operations. </p></li><li class="listitem"><p> Add <code class="literal">MUST</code> (Mauritius Island Summer Time) to the default list of known timezone abbreviations (Xavier Bugaud) </p></li></ul></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="release-8-3-8.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="release.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="release-8-3-6.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">E.197. Release 8.3.8 </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> E.199. Release 8.3.6</td></tr></table></div></body></html>