|
1 |
| -<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.594 2009/03/26 01:48:27 momjian Exp $ --> |
| 1 | +<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.595 2009/03/26 02:40:37 momjian Exp $ --> |
2 | 2 | <!--
|
3 | 3 |
|
4 | 4 | Typical markup:
|
@@ -2620,6 +2620,229 @@ do it for earlier branch release files.
|
2620 | 2620 | </sect2>
|
2621 | 2621 | </sect1>
|
2622 | 2622 |
|
| 2623 | + <sect1 id="release-8-3-7"> |
| 2624 | + <title>Release 8.3.7</title> |
| 2625 | + |
| 2626 | + <note> |
| 2627 | + <title>Release date</title> |
| 2628 | + <simpara>2009-03-16</simpara> |
| 2629 | + </note> |
| 2630 | + |
| 2631 | + <para> |
| 2632 | + This release contains a variety of fixes from 8.3.6. |
| 2633 | + For information about new features in the 8.3 major release, see |
| 2634 | + <xref linkend="release-8-3">. |
| 2635 | + </para> |
| 2636 | + |
| 2637 | + <sect2> |
| 2638 | + <title>Migration to Version 8.3.7</title> |
| 2639 | + |
| 2640 | + <para> |
| 2641 | + A dump/restore is not required for those running 8.3.X. |
| 2642 | + However, if you are upgrading from a version earlier than 8.3.5, |
| 2643 | + see the release notes for 8.3.5. |
| 2644 | + </para> |
| 2645 | + |
| 2646 | + </sect2> |
| 2647 | + |
| 2648 | + <sect2> |
| 2649 | + <title>Changes</title> |
| 2650 | + |
| 2651 | + <itemizedlist> |
| 2652 | + |
| 2653 | + <listitem> |
| 2654 | + <para> |
| 2655 | + Prevent error recursion crashes when encoding conversion fails (Tom) |
| 2656 | + </para> |
| 2657 | + |
| 2658 | + <para> |
| 2659 | + This change extends fixes made in the last two minor releases for |
| 2660 | + related failure scenarios. The previous fixes were narrowly tailored |
| 2661 | + for the original problem reports, but we have now recognized that |
| 2662 | + <emphasis>any</> error thrown by an encoding conversion function could |
| 2663 | + potentially lead to infinite recursion while trying to report the |
| 2664 | + error. The solution therefore is to disable translation and encoding |
| 2665 | + conversion and report the plain-ASCII form of any error message, |
| 2666 | + if we find we have gotten into a recursive error reporting situation. |
| 2667 | + (CVE-2009-0922) |
| 2668 | + </para> |
| 2669 | + </listitem> |
| 2670 | + |
| 2671 | + <listitem> |
| 2672 | + <para> |
| 2673 | + Disallow <command>CREATE CONVERSION</> with the wrong encodings |
| 2674 | + for the specified conversion function (Heikki) |
| 2675 | + </para> |
| 2676 | + |
| 2677 | + <para> |
| 2678 | + This prevents one possible scenario for encoding conversion failure. |
| 2679 | + The previous change is a backstop to guard against other kinds of |
| 2680 | + failures in the same area. |
| 2681 | + </para> |
| 2682 | + </listitem> |
| 2683 | + |
| 2684 | + <listitem> |
| 2685 | + <para> |
| 2686 | + Fix <function>xpath()</> to not modify the path expression unless |
| 2687 | + necessary, and to make a saner attempt at it when necessary (Andrew) |
| 2688 | + </para> |
| 2689 | + |
| 2690 | + <para> |
| 2691 | + The SQL standard suggests that <function>xpath</> should work on data |
| 2692 | + that is a document fragment, but <application>libxml</> doesn't support |
| 2693 | + that, and indeed it's not clear that this is sensible according to the |
| 2694 | + XPath standard. <function>xpath</> attempted to work around this |
| 2695 | + mismatch by modifying both the data and the path expression, but the |
| 2696 | + modification was buggy and could cause valid searches to fail. Now, |
| 2697 | + <function>xpath</> checks whether the data is in fact a well-formed |
| 2698 | + document, and if so invokes <application>libxml</> with no change to the |
| 2699 | + data or path expression. Otherwise, a different modification method |
| 2700 | + that is somewhat less likely to fail is used. |
| 2701 | + </para> |
| 2702 | + |
| 2703 | + <note> |
| 2704 | + <para> |
| 2705 | + The new modification method is still not 100% satisfactory, and it |
| 2706 | + seems likely that no real solution is possible. This patch should |
| 2707 | + therefore be viewed as a band-aid to keep from breaking existing |
| 2708 | + applications unnecessarily. It is likely that |
| 2709 | + <productname>PostgreSQL</> 8.4 will simply reject use of |
| 2710 | + <function>xpath</> on data that is not a well-formed document. |
| 2711 | + </para> |
| 2712 | + </note> |
| 2713 | + </listitem> |
| 2714 | + |
| 2715 | + <listitem> |
| 2716 | + <para> |
| 2717 | + Fix core dump when <function>to_char()</> is given format codes that |
| 2718 | + are inappropriate for the type of the data argument (Tom) |
| 2719 | + </para> |
| 2720 | + </listitem> |
| 2721 | + |
| 2722 | + <listitem> |
| 2723 | + <para> |
| 2724 | + Fix possible failure in text search when C locale is used with |
| 2725 | + a multi-byte encoding (Teodor) |
| 2726 | + </para> |
| 2727 | + |
| 2728 | + <para> |
| 2729 | + Crashes were possible on platforms where <type>wchar_t</> is narrower |
| 2730 | + than <type>int</>; Windows in particular. |
| 2731 | + </para> |
| 2732 | + </listitem> |
| 2733 | + |
| 2734 | + <listitem> |
| 2735 | + <para> |
| 2736 | + Fix extreme inefficiency in text search parser's handling of an |
| 2737 | + email-like string containing multiple <literal>@</> characters (Heikki) |
| 2738 | + </para> |
| 2739 | + </listitem> |
| 2740 | + |
| 2741 | + <listitem> |
| 2742 | + <para> |
| 2743 | + Fix planner problem with sub-<command>SELECT</> in the output list |
| 2744 | + of a larger subquery (Tom) |
| 2745 | + </para> |
| 2746 | + |
| 2747 | + <para> |
| 2748 | + The known symptom of this bug is a <quote>failed to locate grouping |
| 2749 | + columns</> error that is dependent on the datatype involved; |
| 2750 | + but there could be other issues as well. |
| 2751 | + </para> |
| 2752 | + </listitem> |
| 2753 | + |
| 2754 | + <listitem> |
| 2755 | + <para> |
| 2756 | + Fix decompilation of <literal>CASE WHEN</> with an implicit coercion |
| 2757 | + (Tom) |
| 2758 | + </para> |
| 2759 | + |
| 2760 | + <para> |
| 2761 | + This mistake could lead to Assert failures in an Assert-enabled build, |
| 2762 | + or an <quote>unexpected CASE WHEN clause</> error message in other |
| 2763 | + cases, when trying to examine or dump a view. |
| 2764 | + </para> |
| 2765 | + </listitem> |
| 2766 | + |
| 2767 | + <listitem> |
| 2768 | + <para> |
| 2769 | + Fix possible misassignment of the owner of a TOAST table's rowtype (Tom) |
| 2770 | + </para> |
| 2771 | + |
| 2772 | + <para> |
| 2773 | + If <command>CLUSTER</> or a rewriting variant of <command>ALTER TABLE</> |
| 2774 | + were executed by someone other than the table owner, the |
| 2775 | + <structname>pg_type</> entry for the table's TOAST table would end up |
| 2776 | + marked as owned by that someone. This caused no immediate problems, |
| 2777 | + since the permissions on the TOAST rowtype aren't examined by any |
| 2778 | + ordinary database operation. However, it could lead to unexpected |
| 2779 | + failures if one later tried to drop the role that issued the command |
| 2780 | + (in 8.1 or 8.2), or <quote>owner of data type appears to be invalid</> |
| 2781 | + warnings from <application>pg_dump</> after having done so (in 8.3). |
| 2782 | + </para> |
| 2783 | + </listitem> |
| 2784 | + |
| 2785 | + <listitem> |
| 2786 | + <para> |
| 2787 | + Change <command>UNLISTEN</> to exit quickly if the current session has |
| 2788 | + never executed any <command>LISTEN</> command (Tom) |
| 2789 | + </para> |
| 2790 | + |
| 2791 | + <para> |
| 2792 | + Most of the time this is not a particularly useful optimization, but |
| 2793 | + since <command>DISCARD ALL</> invokes <command>UNLISTEN</>, the previous |
| 2794 | + coding caused a substantial performance problem for applications that |
| 2795 | + made heavy use of <command>DISCARD ALL</>. |
| 2796 | + </para> |
| 2797 | + </listitem> |
| 2798 | + |
| 2799 | + <listitem> |
| 2800 | + <para> |
| 2801 | + Fix PL/pgSQL to not treat <literal>INTO</> after <command>INSERT</> as |
| 2802 | + an INTO-variables clause anywhere in the string, not only at the start; |
| 2803 | + in particular, don't fail for <command>INSERT INTO</> within |
| 2804 | + <command>CREATE RULE</> (Tom) |
| 2805 | + </para> |
| 2806 | + </listitem> |
| 2807 | + |
| 2808 | + <listitem> |
| 2809 | + <para> |
| 2810 | + Clean up PL/pgSQL error status variables fully at block exit |
| 2811 | + (Ashesh Vashi and Dave Page) |
| 2812 | + </para> |
| 2813 | + |
| 2814 | + <para> |
| 2815 | + This is not a problem for PL/pgSQL itself, but the omission could cause |
| 2816 | + the PL/pgSQL Debugger to crash while examining the state of a function. |
| 2817 | + </para> |
| 2818 | + </listitem> |
| 2819 | + |
| 2820 | + <listitem> |
| 2821 | + <para> |
| 2822 | + Retry failed calls to <function>CallNamedPipe()</> on Windows |
| 2823 | + (Steve Marshall, Magnus) |
| 2824 | + </para> |
| 2825 | + |
| 2826 | + <para> |
| 2827 | + It appears that this function can sometimes fail transiently; |
| 2828 | + we previously treated any failure as a hard error, which could |
| 2829 | + confuse <command>LISTEN</>/<command>NOTIFY</> as well as other |
| 2830 | + operations. |
| 2831 | + </para> |
| 2832 | + </listitem> |
| 2833 | + |
| 2834 | + <listitem> |
| 2835 | + <para> |
| 2836 | + Add <literal>MUST</> (Mauritius Island Summer Time) to the default list |
| 2837 | + of known timezone abbreviations (Xavier Bugaud) |
| 2838 | + </para> |
| 2839 | + </listitem> |
| 2840 | + |
| 2841 | + </itemizedlist> |
| 2842 | + |
| 2843 | + </sect2> |
| 2844 | + </sect1> |
| 2845 | + |
2623 | 2846 | <sect1 id="release-8-3-6">
|
2624 | 2847 | <title>Release 8.3.6</title>
|
2625 | 2848 |
|
|
0 commit comments