Join in the fun of editorializing on the alpha release notes.

This commit is contained in:
Tom Lane 2009-12-19 02:38:54 +00:00
parent 1b612dfeb6
commit d2903637b8

View file

@ -1,4 +1,4 @@
<!-- $PostgreSQL: pgsql/doc/src/sgml/release-8.5.sgml,v 1.11 2009/12/19 00:05:27 rhaas Exp $ -->
<!-- $PostgreSQL: pgsql/doc/src/sgml/release-8.5.sgml,v 1.12 2009/12/19 02:38:54 tgl Exp $ -->
<sect1 id="release-8-5">
<title>Release 8.5alpha3</title>
@ -55,10 +55,10 @@
<sect2>
<title>Testing</title>
<para>
The primary reason we release alphas is to get users to test new
The primary reason we release alphas is to get users to test new
features as early as possible. If you are interested in helping
with organized testing, please see
<ulink url="http://wiki.postgresql.org/wiki/HowToBetaTest">the
with organized testing, please see
<ulink url="http://wiki.postgresql.org/wiki/HowToBetaTest">the
testing information page</ulink>.
</para>
</sect2>
@ -77,8 +77,8 @@
<listitem>
<para>
<emphasis>Performance and behavioral improvements in UPDATE,
DELETE, and SELECT FOR UPDATE/SHARE queries with
joins. Various corner-cases could result in duplicated output
DELETE, and SELECT FOR UPDATE/SHARE queries with joins.
Fix various corner cases that could have resulted in duplicated output
rows. Set-returning functions are now prohibited in the
target list of SELECT FOR UPDATE/SHARE. FOR UPDATE does not
propagate into a WITH query anymore.</emphasis>
@ -86,7 +86,7 @@
</listitem>
<listitem>
<para>
<emphasis>Fixed for SELECT FOR UPDATE/SHARE in conjuction with LIMIT.
<emphasis>Fix SELECT FOR UPDATE/SHARE in conjunction with LIMIT.
Previously, it could return fewer rows than the limit specified.</emphasis>
</para>
</listitem>
@ -122,7 +122,7 @@
</para>
<para>
<emphasis>Behavioral change: formerly, agg(DISTINCT x) dropped null values of
x unconditionally. Now, it does so only if the agg transition
x unconditionally. Now, it does so only if the aggregate's transition
function is strict; otherwise nulls are treated as DISTINCT
normally would, i.e., you get one copy.</emphasis>
</para>
@ -214,12 +214,13 @@
<itemizedlist>
<listitem>
<para>
<emphasis>Allow rewriting ALTER TABLE to skip WAL logging.</emphasis>
<emphasis>Allow rewriting forms of ALTER TABLE to skip WAL
logging.</emphasis>
</para>
</listitem>
<listitem>
<para>
<emphasis>Speed up information schema privilege views.</emphasis>
<emphasis>Speed up INFORMATION_SCHEMA's privilege views.</emphasis>
</para>
</listitem>
<listitem>
@ -324,12 +325,6 @@
interruptions.</emphasis>
</para>
</listitem>
<listitem>
<para>
<emphasis>Error when a specified connection service is not found in
pg_service.conf, instead of ignoring it.</emphasis>
</para>
</listitem>
<listitem>
<para>
<emphasis>Add YAML to list of EXPLAIN formats.</emphasis>
@ -474,7 +469,7 @@
<emphasis>Teach the regular expression functions to do case-insensitive
matching and locale-dependent character classification properly
when the database encoding is UTF8. This previously only worked
correct for single-byte encodings and is still broken for other
correctly for single-byte encodings. It is still broken for other
multibyte encodings.</emphasis>
</para>
</listitem>
@ -583,6 +578,23 @@
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>libpq</title>
<itemizedlist>
<listitem>
<para>
<emphasis>Throw error when a specified connection service name is not
found in pg_service.conf, instead of ignoring it.</emphasis>
</para>
</listitem>
<listitem>
<para>
Make libpq reject non-numeric and out-of-range port numbers with a
suitable error message.
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>psql</title>
<itemizedlist>
@ -666,19 +678,31 @@
go, ie, a place where a column value or parameter would be legal,
instead of the former behavior that would replace any textual match
including table names and column aliases (leading to syntax errors
later on). PL/pgSQL variable names that match fully-reserved words
will now need to be quoted. On the other hand, a number of
PL/pgSQL-specific words were de-reserved.</emphasis>
later on).</emphasis>
</para>
<para>
<emphasis>The variable resolution behavior is by default not backward
compatible, but can be configured; see documentation.</emphasis>
<emphasis>When a name could refer either to a PL/pgSQL variable or a
table column, PL/pgSQL formerly always assumed the variable was
meant, sometimes resulting in surprising behavior. Now, PL/pgSQL
can assume the variable is meant, or assume the table column is
meant, or throw an error in ambiguous cases. For safety the default
is to throw error. To configure this see <xref
linkend="plpgsql-var-subst">.</emphasis>
</para>
<para>
<emphasis>Error reporting is much nicer and accurate.</emphasis>
<emphasis>Error reporting is much nicer: it no longer shows edited
versions of statements that look significantly different from what
you wrote.</emphasis>
</para>
<para>
<emphasis>The argument of WHERE CURRENT OF can be a PL/pgSQL cursor variable.</emphasis>
<emphasis>Note that this change affects the set of keywords that are
reserved in PL/pgSQL (i.e., cannot be the name of a PL/pgSQL
variable). Now, all keywords shown as reserved in <xref
linkend="sql-keywords-appendix"> are reserved for PL/pgSQL purposes
as well. However, many PL/pgSQL-only keywords that were formerly
treated as reserved no longer are. As in regular SQL, you can
double-quote a variable's name if you want to use a name that
conflicts with a reserved keyword.</emphasis>
</para>
</listitem>
<listitem>
@ -694,9 +718,9 @@
</listitem>
<listitem>
<para>
<emphasis>Python 3 support in PL/Python; behaves more or less unchanged
compared to Python 2, but the new language variant is called
plpython3u.</emphasis>
<emphasis>Add Python 3 support to PL/Python. It behaves more or less
unchanged compared to Python 2, but the new language variant is
called plpython3u.</emphasis>
</para>
</listitem>
<listitem>
@ -749,7 +773,7 @@
</listitem>
<listitem>
<para>
Allow cursor commands MOVE FORWARD n, MOVE BACKWARD n,
Allow cursor commands MOVE FORWARD n, MOVE BACKWARD n,
MOVE FORWARD ALL, MOVE BACKWARD ALL in PL/pgSQL.
</para>
</listitem>
@ -780,8 +804,8 @@
<emphasis>Add \shell and \setshell meta commands to pgbench.</emphasis>
</para>
<para>
<emphasis>\shell command runs an external shell command. \setshell also does
the same and sets the result to a variable.</emphasis>
<emphasis>\shell runs an external shell command. \setshell
does the same and assigns the result to a variable.</emphasis>
</para>
</listitem>
<listitem>
@ -818,7 +842,7 @@
</itemizedlist>
</sect3>
<sect3>
<title>Development</title>
<title>ecpg</title>
<itemizedlist>
<listitem>
<para>
@ -842,23 +866,6 @@
Make ECPG more robust against applications freeing strings.
</para>
</listitem>
<listitem>
<para>
Make libpq reject non-numeric and out-of-range port numbers with a
suitable error message.
</para>
</listitem>
<listitem>
<para>
Functions which conflict with C++ reserved words have been renamed,
making backend header files now safe to use with C++ libraries.
</para>
</listitem>
<listitem>
<para>
Add man pages for SPI functions.
</para>
</listitem>
<listitem>
<para>
ECPG now includes a STRING datatype for Informix compatibility
@ -934,15 +941,21 @@
<para>
Derived files that are shipped in the distribution used to be
built in the source directory even for out-of-tree
builds. They are now also built in the build tree. This
builds. They are now built in the build tree. This
should be more convenient for certain developers' workflows.
</para>
</listitem>
<listitem>
<para>
Translations were updated.
</para>
</listitem>
<listitem>
<para>
Functions which conflict with C++ reserved words have been renamed,
making backend header files now safe to use with C++ libraries.
</para>
</listitem>
<listitem>
<para>
Add man pages for SPI functions.
</para>
</listitem>
<listitem>
<para>
Upgrade to Autoconf 2.63 (not relevant to users of distribution