|
1 | | -<!-- $PostgreSQL: pgsql/doc/src/sgml/release-8.5.sgml,v 1.11 2009/12/1900:05:27 rhaas Exp $ --> |
| 1 | +<!-- $PostgreSQL: pgsql/doc/src/sgml/release-8.5.sgml,v 1.12 2009/12/1902:38:54 tgl Exp $ --> |
2 | 2 |
|
3 | 3 | <sect1 id="release-8-5"> |
4 | 4 | <title>Release 8.5alpha3</title> |
|
55 | 55 | <sect2> |
56 | 56 | <title>Testing</title> |
57 | 57 | <para> |
58 | | - The primary reason we release alphas is to get users to test new |
| 58 | + The primary reason we release alphas is to get users to test new |
59 | 59 | features as early as possible. If you are interested in helping |
60 | | - with organized testing, please see |
61 | | - <ulink url="http://wiki.postgresql.org/wiki/HowToBetaTest">the |
| 60 | + with organized testing, please see |
| 61 | + <ulink url="http://wiki.postgresql.org/wiki/HowToBetaTest">the |
62 | 62 | testing information page</ulink>. |
63 | 63 | </para> |
64 | 64 | </sect2> |
|
77 | 77 | <listitem> |
78 | 78 | <para> |
79 | 79 | <emphasis>Performance and behavioral improvements in UPDATE, |
80 | | - DELETE, and SELECT FOR UPDATE/SHARE queries with |
81 | | -joins. Various corner-cases couldresult in duplicated output |
| 80 | + DELETE, and SELECT FOR UPDATE/SHARE queries with joins. |
| 81 | +Fix various cornercasesthatcouldhave resulted in duplicated output |
82 | 82 | rows. Set-returning functions are now prohibited in the |
83 | 83 | target list of SELECT FOR UPDATE/SHARE. FOR UPDATE does not |
84 | 84 | propagate into a WITH query anymore.</emphasis> |
85 | 85 | </para> |
86 | 86 | </listitem> |
87 | 87 | <listitem> |
88 | 88 | <para> |
89 | | - <emphasis>Fixed forSELECT FOR UPDATE/SHARE inconjuction with LIMIT. |
| 89 | + <emphasis>FixSELECT FOR UPDATE/SHARE inconjunction with LIMIT. |
90 | 90 | Previously, it could return fewer rows than the limit specified.</emphasis> |
91 | 91 | </para> |
92 | 92 | </listitem> |
|
122 | 122 | </para> |
123 | 123 | <para> |
124 | 124 | <emphasis>Behavioral change: formerly, agg(DISTINCT x) dropped null values of |
125 | | - x unconditionally. Now, it does so only if theagg transition |
| 125 | + x unconditionally. Now, it does so only if theaggregate's transition |
126 | 126 | function is strict; otherwise nulls are treated as DISTINCT |
127 | 127 | normally would, i.e., you get one copy.</emphasis> |
128 | 128 | </para> |
|
214 | 214 | <itemizedlist> |
215 | 215 | <listitem> |
216 | 216 | <para> |
217 | | - <emphasis>Allow rewriting ALTER TABLE to skip WAL logging.</emphasis> |
| 217 | + <emphasis>Allow rewriting forms of ALTER TABLE to skip WAL |
| 218 | + logging.</emphasis> |
218 | 219 | </para> |
219 | 220 | </listitem> |
220 | 221 | <listitem> |
221 | 222 | <para> |
222 | | - <emphasis>Speed upinformation schema privilege views.</emphasis> |
| 223 | + <emphasis>Speed upINFORMATION_SCHEMA's privilege views.</emphasis> |
223 | 224 | </para> |
224 | 225 | </listitem> |
225 | 226 | <listitem> |
|
324 | 325 | interruptions.</emphasis> |
325 | 326 | </para> |
326 | 327 | </listitem> |
327 | | - <listitem> |
328 | | - <para> |
329 | | - <emphasis>Error when a specified connection service is not found in |
330 | | - pg_service.conf, instead of ignoring it.</emphasis> |
331 | | - </para> |
332 | | - </listitem> |
333 | 328 | <listitem> |
334 | 329 | <para> |
335 | 330 | <emphasis>Add YAML to list of EXPLAIN formats.</emphasis> |
|
474 | 469 | <emphasis>Teach the regular expression functions to do case-insensitive |
475 | 470 | matching and locale-dependent character classification properly |
476 | 471 | when the database encoding is UTF8. This previously only worked |
477 | | -correct for single-byte encodings and is still broken for other |
| 472 | +correctly for single-byte encodings. It is still broken for other |
478 | 473 | multibyte encodings.</emphasis> |
479 | 474 | </para> |
480 | 475 | </listitem> |
|
583 | 578 | </listitem> |
584 | 579 | </itemizedlist> |
585 | 580 | </sect3> |
| 581 | + <sect3> |
| 582 | + <title>libpq</title> |
| 583 | + <itemizedlist> |
| 584 | + <listitem> |
| 585 | + <para> |
| 586 | + <emphasis>Throw error when a specified connection service name is not |
| 587 | + found in pg_service.conf, instead of ignoring it.</emphasis> |
| 588 | + </para> |
| 589 | + </listitem> |
| 590 | + <listitem> |
| 591 | + <para> |
| 592 | + Make libpq reject non-numeric and out-of-range port numbers with a |
| 593 | + suitable error message. |
| 594 | + </para> |
| 595 | + </listitem> |
| 596 | + </itemizedlist> |
| 597 | + </sect3> |
586 | 598 | <sect3> |
587 | 599 | <title>psql</title> |
588 | 600 | <itemizedlist> |
|
666 | 678 | go, ie, a place where a column value or parameter would be legal, |
667 | 679 | instead of the former behavior that would replace any textual match |
668 | 680 | including table names and column aliases (leading to syntax errors |
669 | | - later on). PL/pgSQL variable names that match fully-reserved words |
670 | | - will now need to be quoted. On the other hand, a number of |
671 | | - PL/pgSQL-specific words were de-reserved.</emphasis> |
| 681 | + later on).</emphasis> |
672 | 682 | </para> |
673 | 683 | <para> |
674 | | - <emphasis>The variable resolution behavior is by default not backward |
675 | | - compatible, but can be configured; see documentation.</emphasis> |
| 684 | + <emphasis>When a name could refer either to a PL/pgSQL variable or a |
| 685 | + table column, PL/pgSQL formerly always assumed the variable was |
| 686 | + meant, sometimes resulting in surprising behavior. Now, PL/pgSQL |
| 687 | + can assume the variable is meant, or assume the table column is |
| 688 | + meant, or throw an error in ambiguous cases. For safety the default |
| 689 | + is to throw error. To configure this see <xref |
| 690 | + linkend="plpgsql-var-subst">.</emphasis> |
676 | 691 | </para> |
677 | 692 | <para> |
678 | | - <emphasis>Error reporting is much nicer and accurate.</emphasis> |
| 693 | + <emphasis>Error reporting is much nicer: it no longer shows edited |
| 694 | + versions of statements that look significantly different from what |
| 695 | + you wrote.</emphasis> |
679 | 696 | </para> |
680 | 697 | <para> |
681 | | - <emphasis>The argument of WHERE CURRENT OF can be a PL/pgSQL cursor variable.</emphasis> |
| 698 | + <emphasis>Note that this change affects the set of keywords that are |
| 699 | + reserved in PL/pgSQL (i.e., cannot be the name of a PL/pgSQL |
| 700 | + variable). Now, all keywords shown as reserved in <xref |
| 701 | + linkend="sql-keywords-appendix"> are reserved for PL/pgSQL purposes |
| 702 | + as well. However, many PL/pgSQL-only keywords that were formerly |
| 703 | + treated as reserved no longer are. As in regular SQL, you can |
| 704 | + double-quote a variable's name if you want to use a name that |
| 705 | + conflicts with a reserved keyword.</emphasis> |
682 | 706 | </para> |
683 | 707 | </listitem> |
684 | 708 | <listitem> |
|
694 | 718 | </listitem> |
695 | 719 | <listitem> |
696 | 720 | <para> |
697 | | - <emphasis>Python 3 supportin PL/Python;behaves more or less unchanged |
698 | | - compared to Python 2, but the new language variant is called |
699 | | - plpython3u.</emphasis> |
| 721 | + <emphasis>AddPython 3 supportto PL/Python. Itbehaves more or less |
| 722 | +unchangedcompared to Python 2, but the new language variant is |
| 723 | +calledplpython3u.</emphasis> |
700 | 724 | </para> |
701 | 725 | </listitem> |
702 | 726 | <listitem> |
|
749 | 773 | </listitem> |
750 | 774 | <listitem> |
751 | 775 | <para> |
752 | | - Allow cursor commands MOVE FORWARD n, MOVE BACKWARD n, |
| 776 | + Allow cursor commands MOVE FORWARD n, MOVE BACKWARD n, |
753 | 777 | MOVE FORWARD ALL, MOVE BACKWARD ALL in PL/pgSQL. |
754 | 778 | </para> |
755 | 779 | </listitem> |
|
780 | 804 | <emphasis>Add \shell and \setshell meta commands to pgbench.</emphasis> |
781 | 805 | </para> |
782 | 806 | <para> |
783 | | - <emphasis>\shellcommandruns an external shell command. \setshell also does |
784 | | - the same andsets the result to a variable.</emphasis> |
| 807 | + <emphasis>\shell runs an external shell command. \setshell |
| 808 | +doesthe same andassigns the result to a variable.</emphasis> |
785 | 809 | </para> |
786 | 810 | </listitem> |
787 | 811 | <listitem> |
|
818 | 842 | </itemizedlist> |
819 | 843 | </sect3> |
820 | 844 | <sect3> |
821 | | - <title>Development</title> |
| 845 | + <title>ecpg</title> |
822 | 846 | <itemizedlist> |
823 | 847 | <listitem> |
824 | 848 | <para> |
|
842 | 866 | Make ECPG more robust against applications freeing strings. |
843 | 867 | </para> |
844 | 868 | </listitem> |
845 | | - <listitem> |
846 | | - <para> |
847 | | - Make libpq reject non-numeric and out-of-range port numbers with a |
848 | | - suitable error message. |
849 | | - </para> |
850 | | - </listitem> |
851 | | - <listitem> |
852 | | - <para> |
853 | | - Functions which conflict with C++ reserved words have been renamed, |
854 | | - making backend header files now safe to use with C++ libraries. |
855 | | - </para> |
856 | | - </listitem> |
857 | | - <listitem> |
858 | | - <para> |
859 | | - Add man pages for SPI functions. |
860 | | - </para> |
861 | | - </listitem> |
862 | 869 | <listitem> |
863 | 870 | <para> |
864 | 871 | ECPG now includes a STRING datatype for Informix compatibility |
|
934 | 941 | <para> |
935 | 942 | Derived files that are shipped in the distribution used to be |
936 | 943 | built in the source directory even for out-of-tree |
937 | | - builds. They are nowalsobuilt in the build tree. This |
| 944 | + builds. They are now built in the build tree. This |
938 | 945 | should be more convenient for certain developers' workflows. |
939 | 946 | </para> |
940 | 947 | </listitem> |
941 | | - <listitem> |
942 | | - <para> |
943 | | - Translations were updated. |
944 | | - </para> |
945 | | - </listitem> |
| 948 | + <listitem> |
| 949 | + <para> |
| 950 | + Functions which conflict with C++ reserved words have been renamed, |
| 951 | + making backend header files now safe to use with C++ libraries. |
| 952 | + </para> |
| 953 | + </listitem> |
| 954 | + <listitem> |
| 955 | + <para> |
| 956 | + Add man pages for SPI functions. |
| 957 | + </para> |
| 958 | + </listitem> |
946 | 959 | <listitem> |
947 | 960 | <para> |
948 | 961 | Upgrade to Autoconf 2.63 (not relevant to users of distribution |
|