Commit 7f2f798b authored by Tom Lane's avatar Tom Lane

Mention as a potential incompatibility the fact that SELECT DISTINCT, UNION,

etc are no longer guaranteed to produce sorted output; per gripe from Ian
Barwick.  Also improve the release note entries about to_timestamp(), per
Brendan Jurd.
parent 6df6846d
<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.629 2009/04/18 00:01:01 momjian Exp $ --> <!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.630 2009/04/19 15:49:34 tgl Exp $ -->
<!-- <!--
Typical markup: Typical markup:
...@@ -333,28 +333,48 @@ do it for earlier branch release files. ...@@ -333,28 +333,48 @@ do it for earlier branch release files.
<listitem> <listitem>
<para> <para>
Force child tables to inherit <literal>CHECK</> constraints from parents Change <command>TRUNCATE</> and <command>LOCK</> to
(Alex Hunsaker, Nikhil Sontakke, Tom) apply to child tables of the specified table(s) (Peter)
</para> </para>
<para> <para>
Formerly it was possible to drop such a constraint from a child These commands now accept an <literal>ONLY</> option that prevents
table, allowing rows that violate the constraint to be visible processing child tables; this option must be used if the old
when scanning the parent table. This was deemed inconsistent, behavior is needed.
as well as contrary to SQL standard.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Change <command>TRUNCATE</> and <command>LOCK</> to <command>SELECT DISTINCT</> and
apply to child tables of the specified table(s) (Peter) <literal>UNION</>/<literal>INTERSECT</>/<literal>EXCEPT</>
no longer always produce sorted output (Tom)
</para> </para>
<para> <para>
These commands now accept an <literal>ONLY</> option that prevents Previously, these types of queries always removed duplicate rows
processing child tables; this option must be used if the old by means of Sort/Unique processing (i.e., sort then remove adjacent
behavior is needed. duplicates). Now they can be implemented by hashing, which will not
produce sorted output. If an application relied on the output being
in sorted order, the recommended fix is to add an <literal>ORDER BY</>
clause. As a short-term workaround, the previous behavior can be
restored by disabling <literal>enable_hashagg</>, but that is a very
performance-expensive fix. <literal>SELECT DISTINCT ON</> never uses
hashing, however, so its behavior is unchanged.
</para>
</listitem>
<listitem>
<para>
Force child tables to inherit <literal>CHECK</> constraints from parents
(Alex Hunsaker, Nikhil Sontakke, Tom)
</para>
<para>
Formerly it was possible to drop such a constraint from a child
table, allowing rows that violate the constraint to be visible
when scanning the parent table. This was deemed inconsistent,
as well as contrary to SQL standard.
</para> </para>
</listitem> </listitem>
...@@ -512,6 +532,12 @@ do it for earlier branch release files. ...@@ -512,6 +532,12 @@ do it for earlier branch release files.
to more consistently report errors for invalid input (Brendan to more consistently report errors for invalid input (Brendan
Jurd) Jurd)
</para> </para>
<para>
Previous versions would often ignore or silently misread input
that did not match the format string. Such cases will now
result in an error.
</para>
</listitem> </listitem>
<listitem> <listitem>
...@@ -528,21 +554,6 @@ do it for earlier branch release files. ...@@ -528,21 +554,6 @@ do it for earlier branch release files.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Require <function>to_timestamp()</> input to match
meridian (<literal>AM</>/<literal>PM</>) and era
(<literal>BC</>/<literal>AD</>) format designations with
respect to presence of periods
(Brendan Jurd)
</para>
<para>
For example, input value <literal>AD</> now does not match
format string <literal>A.D.</>.
</para>
</listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
...@@ -584,12 +595,7 @@ do it for earlier branch release files. ...@@ -584,12 +595,7 @@ do it for earlier branch release files.
<para> <para>
This means that these types of queries no longer automatically This means that these types of queries no longer automatically
produce sorted output. The recommended response is to add an produce sorted output.
<literal>ORDER BY</> clause if needed. As a short-term workaround,
the previous behavior can be restored by
disabling <literal>enable_hashagg</>, but that is a very
performance-expensive fix. <literal>SELECT DISTINCT ON</> never
uses hashing, however, so its behavior is unchanged.
</para> </para>
</listitem> </listitem>
......
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