Commit 393ad11c authored by Tom Lane's avatar Tom Lane

Draft release notes for upcoming back-branch updates.

parent eaa70a38
<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.581 2008/04/21 09:44:47 mha Exp $ --> <!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.582 2008/06/04 03:16:02 tgl Exp $ -->
<!-- <!--
Typical markup: Typical markup:
...@@ -63,6 +63,371 @@ do it for earlier branch release files. ...@@ -63,6 +63,371 @@ do it for earlier branch release files.
review, so each item is truly a community effort. review, so each item is truly a community effort.
</para> </para>
<sect1 id="release-8-3-2">
<title>Release 8.3.2</title>
<note>
<title>Release date</title>
<simpara>2008-06-09</simpara>
</note>
<para>
This release contains a variety of fixes from 8.3.1.
For information about new features in the 8.3 major release, see
<xref linkend="release-8-3">.
</para>
<sect2>
<title>Migration to Version 8.3.2</title>
<para>
A dump/restore is not required for those running 8.3.X.
However, if you are upgrading from a version earlier than 8.3.1,
see the release notes for 8.3.1.
</para>
</sect2>
<sect2>
<title>Changes</title>
<itemizedlist>
<listitem>
<para>
Fix <literal>ERRORDATA_STACK_SIZE exceeded</literal> crash that
occurred on Windows when using UTF-8 database encoding and a different
client encoding (Tom)
</para>
</listitem>
<listitem>
<para>
Fix incorrect archive truncation point calculation for the
<literal>%r</> macro in <varname>recovery_command</> parameters
(Simon)
</para>
<para>
This could lead to data loss if a warm-standby script relied on
<literal>%r</> to decide when to throw away WAL segment files.
</para>
</listitem>
<listitem>
<para>
Fix <command>ALTER TABLE ADD COLUMN ... PRIMARY KEY</> so that the new
column is correctly checked to see if it's been initialized to all
non-nulls (Brendan Jurd)
</para>
<para>
Previous versions neglected to check this requirement at all.
</para>
</listitem>
<listitem>
<para>
Fix <command>REASSIGN OWNED</> so that it works on procedural
languages too (Alvaro)
</para>
</listitem>
<listitem>
<para>
Fix problems with <command>SELECT FOR UPDATE/SHARE</> occurring as a
subquery in a query with a non-<command>SELECT</> top-level operation
(Tom)
</para>
</listitem>
<listitem>
<para>
Fix possible <command>CREATE TABLE</> failure when inheriting the
<quote>same</> constraint from multiple parent relations that
inherited that constraint from a common ancestor (Tom)
</para>
</listitem>
<listitem>
<para>
Fix <function>pg_get_ruledef()</> to show the alias, if any, attached
to the target table of an <command>UPDATE</> or <command>DELETE</>
(Tom)
</para>
</listitem>
<listitem>
<para>
Restore the pre-8.3 behavior that an out-of-range block number in a
TID being used in a TidScan plan results in silently not matching any
rows (Tom)
</para>
<para>
8.3.0 and 8.3.1 threw an error instead.
</para>
</listitem>
<listitem>
<para>
Fix GIN bug that could result in a <literal>too many LWLocks
taken</literal> failure (Teodor)
</para>
</listitem>
<listitem>
<para>
Fix broken GiST comparison function for <type>tsquery</> (Teodor)
</para>
</listitem>
<listitem>
<para>
Fix <function>tsvector_update_trigger()</> and <function>ts_stat()</>
to accept domains over the types they expect to work with (Tom)
</para>
</listitem>
<listitem>
<para>
Fix failure to support enum data types as foreign keys (Tom)
</para>
</listitem>
<listitem>
<para>
Avoid possible crash when decompressing corrupted data
(Zdenek Kotala)
</para>
</listitem>
<listitem>
<para>
Fix race conditions between delayed unlinks and <command>DROP
DATABASE</> (Heikki)
</para>
<para>
In the worst case this could result in deleting a newly created table
in a new database that happened to get the same OID as the
recently-dropped one; but of course that is an extremely
low-probability scenario.
</para>
</listitem>
<listitem>
<para>
Repair two places where SIGTERM exit of a backend could leave corrupted
state in shared memory (Tom)
</para>
<para>
Neither case is very important if SIGTERM is used to shut down the
whole database cluster together, but there was a problem if someone
tried to SIGTERM individual backends.
</para>
</listitem>
<listitem>
<para>
Fix possible crash due to incorrect plan generated for an
<literal><replaceable>x</> IN (SELECT <replaceable>y</>
FROM ...)</literal> clause when <replaceable>x</> and <replaceable>y</>
have different data types; and make sure the behavior is semantically
correct when the conversion from <replaceable>y</>'s type to
<replaceable>x</>'s type is lossy (Tom)
</para>
</listitem>
<listitem>
<para>
Fix oversight that prevented the planner from substituting known Param
values as if they were constants (Tom)
</para>
<para>
This mistake partially disabled optimization of unnamed
extended-Query statements in 8.3.0 and 8.3.1: in particular the
LIKE-to-indexscan optimization would never be applied if the LIKE
pattern was passed as a parameter, and constraint exclusion
depending on a parameter value didn't work either.
</para>
</listitem>
<listitem>
<para>
Fix planner failure when an indexable <function>MIN</> or
<function>MAX</> aggregate is used with <literal>DISTINCT</> or
<literal>ORDER BY</> (Tom)
</para>
</listitem>
<listitem>
<para>
Fix planner to ensure it never uses a <quote>physical tlist</> for a
plan node that is feeding a Sort node (Tom)
</para>
<para>
This led to the sort having to push around more data than it really
needed to, since unused column values were included in the sorted
data.
</para>
</listitem>
<listitem>
<para>
Avoid unnecessary copying of query strings (Tom)
</para>
<para>
This fixes a performance problem introduced in 8.3.0 when a very large
number of commands are submitted as a single query string.
</para>
</listitem>
<listitem>
<para>
Make <function>TransactionIdIsCurrentTransactionId()</> use binary
search instead of linear search when checking child-transaction XIDs
(Heikki)
</para>
<para>
This fixes some cases in which 8.3.0 was significantly
slower than earlier releases.
</para>
</listitem>
<listitem>
<para>
Fix conversions between ISO-8859-5 and other encodings to handle
Cyrillic <quote>Yo</> characters (<literal>e</> and <literal>E</> with
two dots) (Sergey Burladyan)
</para>
</listitem>
<listitem>
<para>
Fix several datatype input functions, notably <function>array_in()</>,
that were allowing unused bytes in their results to contain
uninitialized, unpredictable values (Tom)
</para>
<para>
This could lead to failures in which two apparently identical literal
values were not seen as equal, resulting in the parser complaining
about unmatched <literal>ORDER BY</> and <literal>DISTINCT</>
expressions.
</para>
</listitem>
<listitem>
<para>
Fix a corner case in regular-expression substring matching
(<literal>substring(<replaceable>string</> from
<replaceable>pattern</>)</literal>) (Tom)
</para>
<para>
The problem occurs when there is a match to the pattern overall but
the user has specified a parenthesized subexpression and that
subexpression hasn't got a match. An example is
<literal>substring('foo' from 'foo(bar)?')</>.
This should return NULL, since <literal>(bar)</> isn't matched, but
it was mistakenly returning the whole-pattern match instead (ie,
<literal>foo</>).
</para>
</listitem>
<listitem>
<para>
Prevent cancellation of an auto-vacuum that was launched to prevent
XID wraparound (Alvaro)
</para>
</listitem>
<listitem>
<para>
Improve <command>ANALYZE</>'s handling of in-doubt tuples (those
inserted or deleted by a not-yet-committed transaction) so that the
counts it reports to the stats collector are more likely to be correct
(Pavan Deolasee)
</para>
</listitem>
<listitem>
<para>
Fix <application>initdb</> to reject a relative path for its
<literal>--xlogdir</> (<literal>-X</>) option (Tom)
</para>
</listitem>
<listitem>
<para>
Make <application>psql</> print tab characters as an appropriate
number of spaces, rather than <literal>\x09</literal> as was done in
8.3.0 and 8.3.1 (Bruce)
</para>
</listitem>
<listitem>
<para>
Update time zone data files to <application>tzdata</> release 2008c (for
DST law changes in Morocco, Iraq, Choibalsan, Pakistan, Syria, Cuba, and
Argentina/San_Luis)
</para>
</listitem>
<listitem>
<para>
Add <function>ECPGget_PGconn()</> function to
<application>ecpglib</> (Michael)
</para>
</listitem>
<listitem>
<para>
Fix incorrect result from <application>ecpg</>'s
<function>PGTYPEStimestamp_sub()</> function (Michael)
</para>
</listitem>
<listitem>
<para>
Fix handling of continuation line markers in <application>ecpg</>
(Michael)
</para>
</listitem>
<listitem>
<para>
Fix possible crashes in <filename>contrib/cube</> functions (Tom)
</para>
</listitem>
<listitem>
<para>
Fix core dump in <filename>contrib/xml2</>'s
<function>xpath_table()</> function when the input query returns a
NULL value (Tom)
</para>
</listitem>
<listitem>
<para>
Fix <filename>contrib/xml2</>'s makefile to not override
<literal>CFLAGS</>, and make it auto-configure properly for
<application>libxslt</> present or not (Tom)
</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
<sect1 id="release-8-3-1"> <sect1 id="release-8-3-1">
<title>Release 8.3.1</title> <title>Release 8.3.1</title>
...@@ -212,7 +577,7 @@ do it for earlier branch release files. ...@@ -212,7 +577,7 @@ do it for earlier branch release files.
</para> </para>
<para> <para>
This was formerly allowed but trying to do it had various unpleasant This was formerly allowed but trying to do it had various unpleasant
consequences, notably that the originating backend could not exit consequences, notably that the originating backend could not exit
as long as an <command>UNLISTEN</> remained uncommitted. as long as an <command>UNLISTEN</> remained uncommitted.
</para> </para>
...@@ -2944,43 +3309,238 @@ current_date &lt; 2017-11-17 ...@@ -2944,43 +3309,238 @@ current_date &lt; 2017-11-17
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Update OS/X startup scripts in Update OS/X startup scripts in
<filename>contrib/start-scripts</filename> (Mark Cotner, David <filename>contrib/start-scripts</filename> (Mark Cotner, David
Fetter) Fetter)
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Restrict <function>pgrowlocks()</function> and
<function>dblink_get_pkey()</function> to users who have
<literal>SELECT</literal> privilege on the target table (Tom)
</para>
</listitem>
<listitem>
<para>
Restrict <filename>contrib/pgstattuple</filename> functions to
superusers (Tom)
</para>
</listitem>
<listitem>
<para>
<filename>contrib/xml2</filename> is deprecated and planned for
removal in 8.4 (Peter)
</para>
<para>
The new XML support in core PostgreSQL supersedes this module.
</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
</sect1>
<sect1 id="release-8-2-8">
<title>Release 8.2.8</title>
<note>
<title>Release date</title>
<simpara>2008-06-09</simpara>
</note>
<para>
This release contains a variety of fixes from 8.2.7.
For information about new features in the 8.2 major release, see
<xref linkend="release-8-2">.
</para>
<sect2>
<title>Migration to Version 8.2.8</title>
<para>
A dump/restore is not required for those running 8.2.X.
However, if you are upgrading from a version earlier than 8.2.7,
see the release notes for 8.2.7.
</para>
</sect2>
<sect2>
<title>Changes</title>
<itemizedlist>
<listitem>
<para>
Fix <literal>ERRORDATA_STACK_SIZE exceeded</literal> crash that
occurred on Windows when using UTF-8 database encoding and a different
client encoding (Tom)
</para>
</listitem>
<listitem>
<para>
Fix <command>ALTER TABLE ADD COLUMN ... PRIMARY KEY</> so that the new
column is correctly checked to see if it's been initialized to all
non-nulls (Brendan Jurd)
</para>
<para>
Previous versions neglected to check this requirement at all.
</para>
</listitem>
<listitem>
<para>
Fix possible <command>CREATE TABLE</> failure when inheriting the
<quote>same</> constraint from multiple parent relations that
inherited that constraint from a common ancestor (Tom)
</para>
</listitem>
<listitem>
<para>
Fix <function>pg_get_ruledef()</> to show the alias, if any, attached
to the target table of an <command>UPDATE</> or <command>DELETE</>
(Tom)
</para>
</listitem>
<listitem>
<para>
Fix GIN bug that could result in a <literal>too many LWLocks
taken</literal> failure (Teodor)
</para>
</listitem>
<listitem>
<para>
Avoid possible crash when decompressing corrupted data
(Zdenek Kotala)
</para>
</listitem>
<listitem>
<para>
Repair two places where SIGTERM exit of a backend could leave corrupted
state in shared memory (Tom)
</para>
<para>
Neither case is very important if SIGTERM is used to shut down the
whole database cluster together, but there was a problem if someone
tried to SIGTERM individual backends.
</para>
</listitem>
<listitem>
<para>
Fix conversions between ISO-8859-5 and other encodings to handle
Cyrillic <quote>Yo</> characters (<literal>e</> and <literal>E</> with
two dots) (Sergey Burladyan)
</para>
</listitem>
<listitem>
<para>
Fix several datatype input functions, notably <function>array_in()</>,
that were allowing unused bytes in their results to contain
uninitialized, unpredictable values (Tom)
</para>
<para>
This could lead to failures in which two apparently identical literal
values were not seen as equal, resulting in the parser complaining
about unmatched <literal>ORDER BY</> and <literal>DISTINCT</>
expressions.
</para>
</listitem>
<listitem>
<para>
Fix a corner case in regular-expression substring matching
(<literal>substring(<replaceable>string</> from
<replaceable>pattern</>)</literal>) (Tom)
</para>
<para>
The problem occurs when there is a match to the pattern overall but
the user has specified a parenthesized subexpression and that
subexpression hasn't got a match. An example is
<literal>substring('foo' from 'foo(bar)?')</>.
This should return NULL, since <literal>(bar)</> isn't matched, but
it was mistakenly returning the whole-pattern match instead (ie,
<literal>foo</>).
</para>
</listitem>
<listitem>
<para>
Update time zone data files to <application>tzdata</> release 2008c (for
DST law changes in Morocco, Iraq, Choibalsan, Pakistan, Syria, Cuba, and
Argentina/San_Luis)
</para>
</listitem>
<listitem>
<para>
Fix incorrect result from <application>ecpg</>'s
<function>PGTYPEStimestamp_sub()</> function (Michael)
</para>
</listitem>
<listitem>
<para>
Fix broken GiST comparison function for <filename>contrib/tsearch2</>'s
<type>tsquery</> type (Teodor)
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Restrict <function>pgrowlocks()</function> and Fix possible crashes in <filename>contrib/cube</> functions (Tom)
<function>dblink_get_pkey()</function> to users who have </para>
<literal>SELECT</literal> privilege on the target table (Tom) </listitem>
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Restrict <filename>contrib/pgstattuple</filename> functions to Fix core dump in <filename>contrib/xml2</>'s
superusers (Tom) <function>xpath_table()</> function when the input query returns a
</para> NULL value (Tom)
</listitem> </para>
</listitem>
<listitem> <listitem>
<para> <para>
<filename>contrib/xml2</filename> is deprecated and planned for Fix <filename>contrib/xml2</>'s makefile to not override
removal in 8.4 (Peter) <literal>CFLAGS</> (Tom)
</para> </para>
</listitem>
<para> <listitem>
The new XML support in core PostgreSQL supersedes this module. <para>
</para> Fix <literal>DatumGetBool</> macro to not fail with <application>gcc</>
</listitem> 4.3 (Tom)
</para>
</itemizedlist> <para>
This problem affects <quote>old style</> (V0) C functions that
return boolean. The fix is already in 8.3, but the need to
back-patch it was not realized at the time.
</para>
</listitem>
</itemizedlist>
</sect3>
</sect2> </sect2>
</sect1> </sect1>
...@@ -3068,7 +3628,7 @@ current_date &lt; 2017-11-17 ...@@ -3068,7 +3628,7 @@ current_date &lt; 2017-11-17
</para> </para>
<para> <para>
This was formerly allowed but trying to do it had various unpleasant This was formerly allowed but trying to do it had various unpleasant
consequences, notably that the originating backend could not exit consequences, notably that the originating backend could not exit
as long as an <command>UNLISTEN</> remained uncommitted. as long as an <command>UNLISTEN</> remained uncommitted.
</para> </para>
...@@ -3244,7 +3804,7 @@ current_date &lt; 2017-11-17 ...@@ -3244,7 +3804,7 @@ current_date &lt; 2017-11-17
<para> <para>
This failure has only been observed to occur when a user-defined This failure has only been observed to occur when a user-defined
datatype's output routine issues a NOTICE, but there is no datatype's output routine issues a NOTICE, but there is no
guaranteee it couldn't happen due to other causes. guarantee it couldn't happen due to other causes.
</para> </para>
</listitem> </listitem>
...@@ -6714,50 +7274,300 @@ current_date &lt; 2017-11-17 ...@@ -6714,50 +7274,300 @@ current_date &lt; 2017-11-17
</itemizedlist> </itemizedlist>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Improvements to cube module (Joshua Reich) Improvements to cube module (Joshua Reich)
</para> </para>
<para>
New functions are <function>cube(float[])</>,
<function>cube(float[], float[])</>, and
<function>cube_subset(cube, int4[])</>.
</para>
</listitem>
<listitem>
<para>
Add async query capability to dblink (Kai Londenberg,
Joe Conway)
</para>
</listitem>
<listitem>
<para>
New operators for array-subset comparisons (<literal>@&gt;</>,
<literal>&lt;@</>, <literal>&amp;&amp;</>) (Tom)
</para>
<para>
Various contrib packages already had these operators for their
datatypes, but the naming wasn't consistent. We have now added
consistently named array-subset comparison operators to the core code
and all the contrib packages that have such functionality.
(The old names remain available, but are deprecated.)
</para>
</listitem>
<listitem>
<para>
Add uninstall scripts for all contrib packages that have install
scripts (David, Josh Drake)
</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
</sect1>
<sect1 id="release-8-1-12">
<title>Release 8.1.12</title>
<note>
<title>Release date</title>
<simpara>2008-06-09</simpara>
</note>
<para>
This release contains a variety of fixes from 8.1.11.
For information about new features in the 8.1 major release, see
<xref linkend="release-8-1">.
</para>
<sect2>
<title>Migration to Version 8.1.12</title>
<para>
A dump/restore is not required for those running 8.1.X.
However, if you are upgrading from a version earlier than 8.1.2,
see the release notes for 8.1.2.
</para>
</sect2>
<sect2>
<title>Changes</title>
<itemizedlist>
<listitem>
<para>
Fix <command>ALTER TABLE ADD COLUMN ... PRIMARY KEY</> so that the new
column is correctly checked to see if it's been initialized to all
non-nulls (Brendan Jurd)
</para>
<para>
Previous versions neglected to check this requirement at all.
</para>
</listitem>
<listitem>
<para>
Fix possible <command>CREATE TABLE</> failure when inheriting the
<quote>same</> constraint from multiple parent relations that
inherited that constraint from a common ancestor (Tom)
</para>
</listitem>
<listitem>
<para>
Fix conversions between ISO-8859-5 and other encodings to handle
Cyrillic <quote>Yo</> characters (<literal>e</> and <literal>E</> with
two dots) (Sergey Burladyan)
</para>
</listitem>
<listitem>
<para>
Fix a few datatype input functions
that were allowing unused bytes in their results to contain
uninitialized, unpredictable values (Tom)
</para>
<para>
This could lead to failures in which two apparently identical literal
values were not seen as equal, resulting in the parser complaining
about unmatched <literal>ORDER BY</> and <literal>DISTINCT</>
expressions.
</para>
</listitem>
<listitem>
<para>
Fix a corner case in regular-expression substring matching
(<literal>substring(<replaceable>string</> from
<replaceable>pattern</>)</literal>) (Tom)
</para>
<para>
The problem occurs when there is a match to the pattern overall but
the user has specified a parenthesized subexpression and that
subexpression hasn't got a match. An example is
<literal>substring('foo' from 'foo(bar)?')</>.
This should return NULL, since <literal>(bar)</> isn't matched, but
it was mistakenly returning the whole-pattern match instead (ie,
<literal>foo</>).
</para>
</listitem>
<listitem>
<para>
Update time zone data files to <application>tzdata</> release 2008c (for
DST law changes in Morocco, Iraq, Choibalsan, Pakistan, Syria, Cuba,
Argentina/San_Luis, and Chile)
</para>
</listitem>
<listitem>
<para>
Fix incorrect result from <application>ecpg</>'s
<function>PGTYPEStimestamp_sub()</> function (Michael)
</para>
</listitem>
<listitem>
<para>
Fix core dump in <filename>contrib/xml2</>'s
<function>xpath_table()</> function when the input query returns a
NULL value (Tom)
</para>
</listitem>
<listitem>
<para>
Fix <filename>contrib/xml2</>'s makefile to not override
<literal>CFLAGS</> (Tom)
</para>
</listitem>
<listitem>
<para>
Fix <literal>DatumGetBool</> macro to not fail with <application>gcc</>
4.3 (Tom)
</para>
<para>
This problem affects <quote>old style</> (V0) C functions that
return boolean. The fix is already in 8.3, but the need to
back-patch it was not realized at the time.
</para>
</listitem>
<listitem>
<para>
Fix longstanding <command>LISTEN</>/<command>NOTIFY</>
race condition (Tom)
</para>
<para>
In rare cases a session that had just executed a
<command>LISTEN</> might not get a notification, even though
one would be expected because the concurrent transaction executing
<command>NOTIFY</> was observed to commit later.
</para>
<para>
A side effect of the fix is that a transaction that has executed
a not-yet-committed <command>LISTEN</> command will not see any
row in <structname>pg_listener</> for the <command>LISTEN</>,
should it choose to look; formerly it would have. This behavior
was never documented one way or the other, but it is possible that
some applications depend on the old behavior.
</para>
</listitem>
<listitem>
<para>
Disallow <command>LISTEN</> and <command>UNLISTEN</> within a
prepared transaction (Tom)
</para>
<para>
This was formerly allowed but trying to do it had various unpleasant
consequences, notably that the originating backend could not exit
as long as an <command>UNLISTEN</> remained uncommitted.
</para>
</listitem>
<listitem>
<para>
Fix rare crash when an error occurs during a query using a hash index
(Heikki)
</para>
</listitem>
<listitem>
<para>
Fix input of datetime values for February 29 in years BC (Tom)
</para>
<para>
The former coding was mistaken about which years were leap years.
</para>
</listitem>
<listitem>
<para>
Fix <quote>unrecognized node type</> error in some variants of
<command>ALTER OWNER</> (Tom)
</para>
</listitem>
<listitem>
<para>
Fix <application>pg_ctl</> to correctly extract the postmaster's port
number from command-line options (Itagaki Takahiro, Tom)
</para>
<para>
Previously, <literal>pg_ctl start -w</> could try to contact the
postmaster on the wrong port, leading to bogus reports of startup
failure.
</para>
</listitem>
<para> <listitem>
New functions are <function>cube(float[])</>, <para>
<function>cube(float[], float[])</>, and Use <option>-fwrapv</> to defend against possible misoptimization
<function>cube_subset(cube, int4[])</>. in recent <application>gcc</> versions (Tom)
</para> </para>
</listitem>
<listitem> <para>
<para> This is known to be necessary when building <productname>PostgreSQL</>
Add async query capability to dblink (Kai Londenberg, with <application>gcc</> 4.3 or later.
Joe Conway) </para>
</para> </listitem>
</listitem>
<listitem> <listitem>
<para> <para>
New operators for array-subset comparisons (<literal>@&gt;</>, Fix display of constant expressions in <literal>ORDER BY</>
<literal>&lt;@</>, <literal>&amp;&amp;</>) (Tom) and <literal>GROUP BY</> (Tom)
</para> </para>
<para> <para>
Various contrib packages already had these operators for their An explictly casted constant would be shown incorrectly. This could
datatypes, but the naming wasn't consistent. We have now added for example lead to corruption of a view definition during
consistently named array-subset comparison operators to the core code dump and reload.
and all the contrib packages that have such functionality. </para>
(The old names remain available, but are deprecated.) </listitem>
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Add uninstall scripts for all contrib packages that have install Fix <application>libpq</> to handle NOTICE messages correctly
scripts (David, Josh Drake) during COPY OUT (Tom)
</para> </para>
</listitem>
</itemizedlist> <para>
This failure has only been observed to occur when a user-defined
datatype's output routine issues a NOTICE, but there is no
guarantee it couldn't happen due to other causes.
</para>
</listitem>
</sect3> </itemizedlist>
</sect2> </sect2>
</sect1> </sect1>
...@@ -10104,88 +10914,325 @@ psql -t -f fixseq.sql db1 | psql -e db1 ...@@ -10104,88 +10914,325 @@ psql -t -f fixseq.sql db1 | psql -e db1
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Move <filename>/contrib/findoidjoins</> to Move <filename>/contrib/findoidjoins</> to
<filename>/src/tools</> (Tom) <filename>/src/tools</> (Tom)
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Remove the <literal>&lt;&lt;</>, <literal>&gt;&gt;</>,
<literal>&amp;&lt;</>, and <literal>&amp;&gt;</> operators from
<filename>/contrib/cube</>
</para>
<para>
These operators were not useful.
</para>
</listitem>
<listitem>
<para>
Improve <filename>/contrib/btree_gist</> (Janko Richter)
</para>
</listitem>
<listitem>
<para>
Improve <filename>/contrib/pgbench</> (Tomoaki Sato, Tatsuo)
</para>
<para>
There is now a facility for testing with SQL command scripts given
by the user, instead of only a hard-wired command sequence.
</para>
</listitem>
<listitem>
<para>
Improve <filename>/contrib/pgcrypto</> (Marko Kreen)
</para>
<itemizedlist>
<listitem>
<para>
Implementation of OpenPGP symmetric-key and public-key encryption
</para>
<para>
Both RSA and Elgamal public-key algorithms are supported.
</para>
</listitem>
<listitem>
<para>
Stand alone build: include SHA256/384/512 hashes, Fortuna PRNG
</para>
</listitem>
<listitem>
<para>
OpenSSL build: support 3DES, use internal AES with OpenSSL &lt; 0.9.7
</para>
</listitem>
<listitem>
<para>
Take build parameters (OpenSSL, zlib) from <filename>configure</> result
</para>
<para>
There is no need to edit the <filename>Makefile</> anymore.
</para>
</listitem>
<listitem>
<para>
Remove support for <filename>libmhash</> and <filename>libmcrypt</>
</para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</sect3>
</sect2>
</sect1>
<sect1 id="release-8-0-16">
<title>Release 8.0.16</title>
<note>
<title>Release date</title>
<simpara>2008-06-09</simpara>
</note>
<para>
This release contains a variety of fixes from 8.0.15.
For information about new features in the 8.0 major release, see
<xref linkend="release-8-0">.
</para>
<sect2>
<title>Migration to Version 8.0.16</title>
<para>
A dump/restore is not required for those running 8.0.X.
However, if you are upgrading from a version earlier than 8.0.6,
see the release notes for 8.0.6.
</para>
</sect2>
<sect2>
<title>Changes</title>
<itemizedlist>
<listitem>
<para>
Fix <command>ALTER TABLE ADD COLUMN ... PRIMARY KEY</> so that the new
column is correctly checked to see if it's been initialized to all
non-nulls (Brendan Jurd)
</para>
<para>
Previous versions neglected to check this requirement at all.
</para>
</listitem>
<listitem>
<para>
Fix possible <command>CREATE TABLE</> failure when inheriting the
<quote>same</> constraint from multiple parent relations that
inherited that constraint from a common ancestor (Tom)
</para>
</listitem>
<listitem>
<para>
Fix conversions between ISO-8859-5 and other encodings to handle
Cyrillic <quote>Yo</> characters (<literal>e</> and <literal>E</> with
two dots) (Sergey Burladyan)
</para>
</listitem>
<listitem>
<para>
Fix a few datatype input functions
that were allowing unused bytes in their results to contain
uninitialized, unpredictable values (Tom)
</para>
<para>
This could lead to failures in which two apparently identical literal
values were not seen as equal, resulting in the parser complaining
about unmatched <literal>ORDER BY</> and <literal>DISTINCT</>
expressions.
</para>
</listitem>
<listitem>
<para>
Fix a corner case in regular-expression substring matching
(<literal>substring(<replaceable>string</> from
<replaceable>pattern</>)</literal>) (Tom)
</para>
<para>
The problem occurs when there is a match to the pattern overall but
the user has specified a parenthesized subexpression and that
subexpression hasn't got a match. An example is
<literal>substring('foo' from 'foo(bar)?')</>.
This should return NULL, since <literal>(bar)</> isn't matched, but
it was mistakenly returning the whole-pattern match instead (ie,
<literal>foo</>).
</para>
</listitem>
<listitem>
<para>
Update time zone data files to <application>tzdata</> release 2008c (for
DST law changes in Morocco, Iraq, Choibalsan, Pakistan, Syria, Cuba,
Argentina/San_Luis, and Chile)
</para>
</listitem>
<listitem>
<para>
Fix incorrect result from <application>ecpg</>'s
<function>PGTYPEStimestamp_sub()</> function (Michael)
</para>
</listitem>
<listitem>
<para>
Fix core dump in <filename>contrib/xml2</>'s
<function>xpath_table()</> function when the input query returns a
NULL value (Tom)
</para>
</listitem>
<listitem>
<para>
Fix <filename>contrib/xml2</>'s makefile to not override
<literal>CFLAGS</> (Tom)
</para>
</listitem>
<listitem>
<para>
Fix <literal>DatumGetBool</> macro to not fail with <application>gcc</>
4.3 (Tom)
</para>
<para>
This problem affects <quote>old style</> (V0) C functions that
return boolean. The fix is already in 8.3, but the need to
back-patch it was not realized at the time.
</para>
</listitem>
<listitem>
<para>
Fix longstanding <command>LISTEN</>/<command>NOTIFY</>
race condition (Tom)
</para>
<para>
In rare cases a session that had just executed a
<command>LISTEN</> might not get a notification, even though
one would be expected because the concurrent transaction executing
<command>NOTIFY</> was observed to commit later.
</para>
<para>
A side effect of the fix is that a transaction that has executed
a not-yet-committed <command>LISTEN</> command will not see any
row in <structname>pg_listener</> for the <command>LISTEN</>,
should it choose to look; formerly it would have. This behavior
was never documented one way or the other, but it is possible that
some applications depend on the old behavior.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Remove the <literal>&lt;&lt;</>, <literal>&gt;&gt;</>, Fix rare crash when an error occurs during a query using a hash index
<literal>&amp;&lt;</>, and <literal>&amp;&gt;</> operators from (Heikki)
<filename>/contrib/cube</> </para>
</para> </listitem>
<para>
These operators were not useful.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Improve <filename>/contrib/btree_gist</> (Janko Richter) Fix input of datetime values for February 29 in years BC (Tom)
</para> </para>
</listitem>
<listitem> <para>
<para> The former coding was mistaken about which years were leap years.
Improve <filename>/contrib/pgbench</> (Tomoaki Sato, Tatsuo) </para>
</para> </listitem>
<para>
There is now a facility for testing with SQL command scripts given
by the user, instead of only a hard-wired command sequence.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Improve <filename>/contrib/pgcrypto</> (Marko Kreen) Fix <quote>unrecognized node type</> error in some variants of
</para> <command>ALTER OWNER</> (Tom)
</para>
</listitem>
<itemizedlist> <listitem>
<para>
Fix <application>pg_ctl</> to correctly extract the postmaster's port
number from command-line options (Itagaki Takahiro, Tom)
</para>
<listitem> <para>
<para> Previously, <literal>pg_ctl start -w</> could try to contact the
Implementation of OpenPGP symmetric-key and public-key encryption postmaster on the wrong port, leading to bogus reports of startup
</para> failure.
<para> </para>
Both RSA and Elgamal public-key algorithms are supported. </listitem>
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Stand alone build: include SHA256/384/512 hashes, Fortuna PRNG Use <option>-fwrapv</> to defend against possible misoptimization
</para> in recent <application>gcc</> versions (Tom)
</listitem> </para>
<listitem> <para>
<para> This is known to be necessary when building <productname>PostgreSQL</>
OpenSSL build: support 3DES, use internal AES with OpenSSL &lt; 0.9.7 with <application>gcc</> 4.3 or later.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Take build parameters (OpenSSL, zlib) from <filename>configure</> result Fix display of constant expressions in <literal>ORDER BY</>
</para> and <literal>GROUP BY</> (Tom)
<para> </para>
There is no need to edit the <filename>Makefile</> anymore.
</para>
</listitem>
<listitem> <para>
<para> An explictly casted constant would be shown incorrectly. This could
Remove support for <filename>libmhash</> and <filename>libmcrypt</> for example lead to corruption of a view definition during
</para> dump and reload.
</listitem> </para>
</listitem>
</itemizedlist> <listitem>
</listitem> <para>
Fix <application>libpq</> to handle NOTICE messages correctly
during COPY OUT (Tom)
</para>
</itemizedlist> <para>
</sect3> This failure has only been observed to occur when a user-defined
datatype's output routine issues a NOTICE, but there is no
guarantee it couldn't happen due to other causes.
</para>
</listitem>
</itemizedlist>
</sect2> </sect2>
</sect1> </sect1>
...@@ -14047,6 +15094,151 @@ typedefs (Michael)</para></listitem> ...@@ -14047,6 +15094,151 @@ typedefs (Michael)</para></listitem>
</sect2> </sect2>
</sect1> </sect1>
<sect1 id="release-7-4-20">
<title>Release 7.4.20</title>
<note>
<title>Release date</title>
<simpara>2008-06-09</simpara>
</note>
<para>
This release contains a variety of fixes from 7.4.19.
For information about new features in the 7.4 major release, see
<xref linkend="release-7-4">.
</para>
<sect2>
<title>Migration to Version 7.4.20</title>
<para>
A dump/restore is not required for those running 7.4.X.
However, if you are upgrading from a version earlier than 7.4.11,
see the release notes for 7.4.11.
</para>
</sect2>
<sect2>
<title>Changes</title>
<itemizedlist>
<listitem>
<para>
Fix conversions between ISO-8859-5 and other encodings to handle
Cyrillic <quote>Yo</> characters (<literal>e</> and <literal>E</> with
two dots) (Sergey Burladyan)
</para>
</listitem>
<listitem>
<para>
Fix a few datatype input functions
that were allowing unused bytes in their results to contain
uninitialized, unpredictable values (Tom)
</para>
<para>
This could lead to failures in which two apparently identical literal
values were not seen as equal, resulting in the parser complaining
about unmatched <literal>ORDER BY</> and <literal>DISTINCT</>
expressions.
</para>
</listitem>
<listitem>
<para>
Fix a corner case in regular-expression substring matching
(<literal>substring(<replaceable>string</> from
<replaceable>pattern</>)</literal>) (Tom)
</para>
<para>
The problem occurs when there is a match to the pattern overall but
the user has specified a parenthesized subexpression and that
subexpression hasn't got a match. An example is
<literal>substring('foo' from 'foo(bar)?')</>.
This should return NULL, since <literal>(bar)</> isn't matched, but
it was mistakenly returning the whole-pattern match instead (ie,
<literal>foo</>).
</para>
</listitem>
<listitem>
<para>
Fix incorrect result from <application>ecpg</>'s
<function>PGTYPEStimestamp_sub()</> function (Michael)
</para>
</listitem>
<listitem>
<para>
Fix <literal>DatumGetBool</> macro to not fail with <application>gcc</>
4.3 (Tom)
</para>
<para>
This problem affects <quote>old style</> (V0) C functions that
return boolean. The fix is already in 8.3, but the need to
back-patch it was not realized at the time.
</para>
</listitem>
<listitem>
<para>
Fix longstanding <command>LISTEN</>/<command>NOTIFY</>
race condition (Tom)
</para>
<para>
In rare cases a session that had just executed a
<command>LISTEN</> might not get a notification, even though
one would be expected because the concurrent transaction executing
<command>NOTIFY</> was observed to commit later.
</para>
<para>
A side effect of the fix is that a transaction that has executed
a not-yet-committed <command>LISTEN</> command will not see any
row in <structname>pg_listener</> for the <command>LISTEN</>,
should it choose to look; formerly it would have. This behavior
was never documented one way or the other, but it is possible that
some applications depend on the old behavior.
</para>
</listitem>
<listitem>
<para>
Fix display of constant expressions in <literal>ORDER BY</>
and <literal>GROUP BY</> (Tom)
</para>
<para>
An explictly casted constant would be shown incorrectly. This could
for example lead to corruption of a view definition during
dump and reload.
</para>
</listitem>
<listitem>
<para>
Fix <application>libpq</> to handle NOTICE messages correctly
during COPY OUT (Tom)
</para>
<para>
This failure has only been observed to occur when a user-defined
datatype's output routine issues a NOTICE, but there is no
guarantee it couldn't happen due to other causes.
</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
<sect1 id="release-7-4-19"> <sect1 id="release-7-4-19">
<title>Release 7.4.19</title> <title>Release 7.4.19</title>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment