Join in the fun of editorializing on the alpha release notes.
This commit is contained in:
parent
1b612dfeb6
commit
d2903637b8
@ -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">
|
<sect1 id="release-8-5">
|
||||||
<title>Release 8.5alpha3</title>
|
<title>Release 8.5alpha3</title>
|
||||||
@ -77,8 +77,8 @@
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
<emphasis>Performance and behavioral improvements in UPDATE,
|
<emphasis>Performance and behavioral improvements in UPDATE,
|
||||||
DELETE, and SELECT FOR UPDATE/SHARE queries with
|
DELETE, and SELECT FOR UPDATE/SHARE queries with joins.
|
||||||
joins. Various corner-cases could result in duplicated output
|
Fix various corner cases that could have resulted in duplicated output
|
||||||
rows. Set-returning functions are now prohibited in the
|
rows. Set-returning functions are now prohibited in the
|
||||||
target list of SELECT FOR UPDATE/SHARE. FOR UPDATE does not
|
target list of SELECT FOR UPDATE/SHARE. FOR UPDATE does not
|
||||||
propagate into a WITH query anymore.</emphasis>
|
propagate into a WITH query anymore.</emphasis>
|
||||||
@ -86,7 +86,7 @@
|
|||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<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>
|
Previously, it could return fewer rows than the limit specified.</emphasis>
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -122,7 +122,7 @@
|
|||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<emphasis>Behavioral change: formerly, agg(DISTINCT x) dropped null values of
|
<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
|
function is strict; otherwise nulls are treated as DISTINCT
|
||||||
normally would, i.e., you get one copy.</emphasis>
|
normally would, i.e., you get one copy.</emphasis>
|
||||||
</para>
|
</para>
|
||||||
@ -214,12 +214,13 @@
|
|||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
<emphasis>Allow rewriting ALTER TABLE to skip WAL logging.</emphasis>
|
<emphasis>Allow rewriting forms of ALTER TABLE to skip WAL
|
||||||
|
logging.</emphasis>
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
<emphasis>Speed up information schema privilege views.</emphasis>
|
<emphasis>Speed up INFORMATION_SCHEMA's privilege views.</emphasis>
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
@ -324,12 +325,6 @@
|
|||||||
interruptions.</emphasis>
|
interruptions.</emphasis>
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</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>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
<emphasis>Add YAML to list of EXPLAIN formats.</emphasis>
|
<emphasis>Add YAML to list of EXPLAIN formats.</emphasis>
|
||||||
@ -474,7 +469,7 @@
|
|||||||
<emphasis>Teach the regular expression functions to do case-insensitive
|
<emphasis>Teach the regular expression functions to do case-insensitive
|
||||||
matching and locale-dependent character classification properly
|
matching and locale-dependent character classification properly
|
||||||
when the database encoding is UTF8. This previously only worked
|
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>
|
multibyte encodings.</emphasis>
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -583,6 +578,23 @@
|
|||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</sect3>
|
</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>
|
<sect3>
|
||||||
<title>psql</title>
|
<title>psql</title>
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
@ -666,19 +678,31 @@
|
|||||||
go, ie, a place where a column value or parameter would be legal,
|
go, ie, a place where a column value or parameter would be legal,
|
||||||
instead of the former behavior that would replace any textual match
|
instead of the former behavior that would replace any textual match
|
||||||
including table names and column aliases (leading to syntax errors
|
including table names and column aliases (leading to syntax errors
|
||||||
later on). PL/pgSQL variable names that match fully-reserved words
|
later on).</emphasis>
|
||||||
will now need to be quoted. On the other hand, a number of
|
|
||||||
PL/pgSQL-specific words were de-reserved.</emphasis>
|
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<emphasis>The variable resolution behavior is by default not backward
|
<emphasis>When a name could refer either to a PL/pgSQL variable or a
|
||||||
compatible, but can be configured; see documentation.</emphasis>
|
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>
|
||||||
<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>
|
||||||
<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>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
@ -694,9 +718,9 @@
|
|||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
<emphasis>Python 3 support in PL/Python; behaves more or less unchanged
|
<emphasis>Add Python 3 support to PL/Python. It behaves more or less
|
||||||
compared to Python 2, but the new language variant is called
|
unchanged compared to Python 2, but the new language variant is
|
||||||
plpython3u.</emphasis>
|
called plpython3u.</emphasis>
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
@ -780,8 +804,8 @@
|
|||||||
<emphasis>Add \shell and \setshell meta commands to pgbench.</emphasis>
|
<emphasis>Add \shell and \setshell meta commands to pgbench.</emphasis>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<emphasis>\shell command runs an external shell command. \setshell also does
|
<emphasis>\shell runs an external shell command. \setshell
|
||||||
the same and sets the result to a variable.</emphasis>
|
does the same and assigns the result to a variable.</emphasis>
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
@ -818,7 +842,7 @@
|
|||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</sect3>
|
</sect3>
|
||||||
<sect3>
|
<sect3>
|
||||||
<title>Development</title>
|
<title>ecpg</title>
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
@ -842,23 +866,6 @@
|
|||||||
Make ECPG more robust against applications freeing strings.
|
Make ECPG more robust against applications freeing strings.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</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>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
ECPG now includes a STRING datatype for Informix compatibility
|
ECPG now includes a STRING datatype for Informix compatibility
|
||||||
@ -934,13 +941,19 @@
|
|||||||
<para>
|
<para>
|
||||||
Derived files that are shipped in the distribution used to be
|
Derived files that are shipped in the distribution used to be
|
||||||
built in the source directory even for out-of-tree
|
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.
|
should be more convenient for certain developers' workflows.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Translations were updated.
|
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>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user