Commit 7b630e7b authored by Robert Haas's avatar Robert Haas

Edits to 9.1 release notes.

Add some new items and some additional details to existing items, mostly
by cribbing from the 9.1alpha notes.  Some additional clarifications and
corrections elsewhere, and a few typo fixes.
parent 3bba9ce9
......@@ -73,7 +73,7 @@
<listitem>
<para>
Disallow functional or attribute string data type casts for
Disallow function-style and attribute-style data type casts for
composite types (Tom Lane)
</para>
......@@ -293,14 +293,17 @@
<listitem>
<para>
Support <literal>RIGHT</> and <literal>FULL OUTER JOIN</> in
hash joins (Tom Lane)
Allow <literal>FULL OUTER JOIN</literal> to be implemented as a
hash join, and allow either side of a <literal>LEFT OUTER JOIN</>
or <literal>RIGHT OUTER JOIN</> to be hashed (Tom Lane)
</para>
<para>
Previously hash joins could not be considered for outer joins;
this provides additional query optimization possibilities.
**What about <literal>LEFT</> joins?
Previously <literal>FULL OUTER JOIN</literal> could only be
implemented as a merge join, and <literal>LEFT OUTER JOIN</literal>
and <literal>RIGHT OUTER JOIN</literal> could has only the nullable
side of the join. These changes provide additional query optimization
possibilities.
</para>
</listitem>
......@@ -323,6 +326,13 @@
</para>
</listitem>
<listitem>
<para>
Reduce the memory requirement for large ispell dictionaries
(Pavel Stehule, Tom Lane)
</para>
</listitem>
</itemizedlist>
</sect4>
......@@ -585,14 +595,18 @@
<listitem>
<para>
Add a <link
linkend="guc-synchronous-replication"><varname>synchronous_replication</></link>
option (Simon Riggs, Fujii Masao)
Allow synchronous replication (Simon Riggs, Fujii Masao)
</para>
<para>
This allows the primary to wait for the standby to receive
transaction information before acknowledging the commit.
One standby at a time can take the role of the synchronous standby,
as controlled by the
<link linkend="guc-synchronous-standby-names"><varname>synchronous_standby_names</varname></link>
setting. Synchronous replication can be enabled or disabled on a
per-transaction basis using the
<link linkend="guc-synchronous-replication"><varname>synchronous_replication</></link>
setting. This allows the primary to wait for a standby to write the
transaction information to disk before acknowledging the commit.
</para>
</listitem>
......@@ -600,8 +614,8 @@
<para>
Add variable <link
linkend="guc-hot-standby-feedback"><varname>hot_standby_feedback</></link>
to enable standbys to communicate their needed snapshots to
the primary (Simon Riggs)
to enable standbys to postpone cleanup of old row versions on the
primary (Simon Riggs)
</para>
<para>
......@@ -712,7 +726,8 @@
<para>
These named restore points can be specified as recovery
targets in <filename>recovery.conf</>.
targets using the new <filename>recovery.conf</> setting
<link linkend="recovery-target-name"><varname>recovery_target_name</></link>
</para>
</listitem>
......@@ -786,12 +801,6 @@
clauses to be fed into <command>INSERT</>, <command>UPDATE</>,
<command>DELETE </> statements (Marko Tiikkaja, Hitoshi Harada)
</para>
<para>
Specifically, let <command>SELECT</> query results be fed
into <command>INSERT</>, <command>UPDATE</>, <command>DELETE</>
statements.
</para>
</listitem>
<listitem>
......@@ -804,7 +813,7 @@
<para>
Some other database system already allowed this behavior, and
because of the primary key, the result is unambiguous..
because of the primary key, the result is unambiguous.
</para>
</listitem>
......@@ -822,6 +831,19 @@
</para>
</listitem>
<listitem>
<para>
Fix ordinary queries with rules to use the same snapshot behavior
as <command>EXPLAIN ANALYZE</> (Marko Tiikkaja)
</para>
<para>
Previously <command>EXPLAIN ANALYZE</> used a slightly different
snapshot for queries involving rules. The <command>EXPLAIN ANALYZE</>
behavior was judged to be more logical.
</para>
</listitem>
</itemizedlist>
<sect4>
......@@ -912,6 +934,12 @@
Add support for more object types in <command>ALTER ... SET
SCHEMA</> commands (Dimitri Fontaine)
</para>
<para>
This command is now supported for conversions, operators, operator
classes, operator families, text search configurations, and text search
dictionaries, text search parsers, and text search templates.
</para>
</listitem>
</itemizedlist>
......@@ -926,13 +954,13 @@
<listitem>
<para>
Add <link linkend="SQL-ALTERTABLE"><command>ALTER TABLE ...
ADD UNIQUE</></link>/<literal>PRIMARY KEY USING INDEX</>
ADD UNIQUE/PRIMARY KEY USING INDEX</command></link>
(Gurjeet Singh)
</para>
<para>
This allows existing unique indexes to be used as primary
keys, including indexes that were created concurrently.
This allows a primary key or unique constraint to be added using an
existing unique index, including a concurrently created unique index.
</para>
</listitem>
......@@ -951,15 +979,15 @@
<listitem>
<para>
Allow <link linkend="SQL-ALTERTABLE"><command>ALTER TABLE</></link>
... <literal>SET DATA TYPE</> to avoid table rewrites in
Allow <link linkend="SQL-ALTERTABLE"><command>ALTER TABLE
... SET DATA TYPE</command></link> to avoid table rewrites in
appropriate cases (Noah Misch, Robert Haas)
</para>
<para>
For example, converting a varchar column to text no longer
requires a rewrite of the table. **Length changes require
rewrite?
requires a rewrite of the table. However, increasing the length
constraint on a varchar column still requires a table rewrite.
</para>
</listitem>
......@@ -1008,13 +1036,13 @@
<listitem>
<para>
Add a true <link linkend="xact-serializable"><literal>serializable</>
</link> isolation level (Kevin Grittner, Dan Ports)
Add a true <link linkend="xact-serializable"><literal>serializable</></link> isolation level (Kevin Grittner, Dan Ports)
</para>
<para>
Previously asking for serializable isolation produced
snapshot isolation, which had certain documented anomalies.
Previously asking for serializable isolation guaranteed only that
a single MVCC snapshot would be used for the entire transaction, which
allowed certain documented anomalies.
The old snapshot isolation level is still accessible by
requesting the <link linkend="xact-repeatable-read"><literal>REPEATABLE
READ</></link> isolation level.
......@@ -1094,19 +1122,6 @@
</para>
</listitem>
<listitem>
<para>
Fix <command>EXPLAIN ANALYZE</>
with rules to use the same snapshot behavior as ordinary
queries (Marko Tiikkaja)
</para>
<para>
Previously <command>EXPLAIN ANALYZE</> used a slightly different
snapshot for queries involving rules.
</para>
</listitem>
</itemizedlist>
</sect4>
......@@ -1145,6 +1160,22 @@
</sect4>
<sect4>
<title><link linkend="SQL-CLUSTER"><command>CLUSTER</></link></title>
<itemizedlist>
<listitem>
<para>
Allow CLUSTER to sort the table rather than scanning the index
when it seems likely to be cheaper (Leonardo Francalanci)
</para>
</listitem>
</itemizedlist>
</sect4>
<sect4>
<title>Indexes</title>
......@@ -1173,6 +1204,18 @@
</para>
</listitem>
<listitem>
<para>
Allow <link linkend="GIN"><acronym>GIN</> indexes</link> to
better recognize duplicate search entries (Tom Lane)
</para>
<para>
This reduces the cost of index scans, especially in cases where
it avoids unnecessary full index scans.
</para>
</listitem>
<listitem>
<para>
Fix <link linkend="GiST"><acronym>GiST</> indexes</link> to be fully
......@@ -1215,6 +1258,22 @@
</para>
</listitem>
<listitem>
<para>
Allow binary I/O on type <type>void</type> (Radoslaw Smogura)
</para>
</listitem>
<listitem>
<para>
Improve hypotenuse calculations for geometric operators (Paul Matthews)
</para>
<para>
This avoids unnecessary overflows, and may also be more accurate.
</para>
</listitem>
</itemizedlist>
<sect4>
......@@ -1236,7 +1295,8 @@
</para>
<para>
**Needs description.
This is analogous to the existing facility that allows casting a row
type to a supertable's row type.
</para>
</listitem>
......@@ -1258,7 +1318,7 @@
</para>
<para>
This is used for xpath matching.
These are used for xpath matching.
</para>
</listitem>
......@@ -1275,6 +1335,8 @@
<para>
These check whether the input is properly-formed <acronym>XML</>.
They supersede functionality that was previously available only using
<filename>contrib/xml2</filename>.
</para>
</listitem>
......@@ -1317,7 +1379,7 @@
</para>
<para>
**Why were these added?
These improve compatibility with other database products.
</para>
</listitem>
......@@ -1362,8 +1424,7 @@
</para>
<para>
This function is used to obtain comments on objects. **Alvaro,
why is this useful for pg_depend?
This function is used to obtain comments on objects.
</para>
</listitem>
......@@ -1471,22 +1532,51 @@
<sect3>
<title>Server-Side Languages</title>
<itemizedlist>
<sect4>
<title><link linkend="plpgsql">PL/pgSQL</link> Server-Side Language</title>
<listitem>
<para>
Add <link linkend="plpgsql-foreach-array"><command>FOREACH IN
ARRAY</></link> to <link linkend="plpgsql">PL/pgSQL</link> to
allow array iteration (Pavel Stehule)
</para>
<itemizedlist>
<para>
This is more efficient than previous methods.
</para>
</listitem>
<listitem>
<para>
Add <link linkend="plpgsql-foreach-array"><command>FOREACH IN
ARRAY</></link> to <link linkend="plpgsql">PL/pgSQL</link> to
allow array iteration (Pavel Stehule)
</para>
<para>
This is more efficient than previous methods.
</para>
</listitem>
<listitem>
<para>
Add <link linkend="plpgsql-foreach-array"><command>FOREACH IN
ARRAY</></link> to <link linkend="plpgsql">PL/pgSQL</link> to
allow array iteration (Pavel Stehule)
</para>
<para>
This is more efficient than previous methods.
</para>
</listitem>
<listitem>
<para>
Allow <command>RAISE</command> without parameters to be caught in
the same places that could catch a <command>RAISE ERROR</command>
from the same location.
</para>
<para>
The new behavior is more consistent.
</para>
</listitem>
</itemizedlist>
</sect4>
<sect4>
<title><link linkend="plperl">PL/Perl</link> Server-Side Language</title>
......@@ -1605,6 +1695,17 @@
</para>
</listitem>
<listitem>
<para>
<function>plpy.Fatal</function> now raises <literal>FATAL</>, rather
than <literal>ERROR</literal> (Jan Urbanski)
</para>
<para>
The old behavior was incorrect.
</para>
</listitem>
<listitem>
<para>
Overhaul of PL/Python (Jan Urbanski)
......@@ -1701,6 +1802,13 @@
</para>
</listitem>
<listitem>
<para>
Make <application>psql</application> distinguish between unique
indices and unique constraints (Josh Kupershmidt)
</para>
</listitem>
<listitem>
<para>
Additional tab completion of <application>psql</> variables (Pavel
......@@ -1858,6 +1966,21 @@
</sect4>
<sect4>
<title><link linkend="ecpg"><application>ECPG</></link></title>
<itemizedlist>
<listitem>
<para>
Allow ecpg to accept dynamic cursor names even in
<literal>WHERE CURRENT OF</literal> clauses
</para>
</listitem>
</itemizedlist>
</sect4>
</sect3>
<sect3>
......@@ -1867,8 +1990,8 @@
<listitem>
<para>
Add <link linkend="extension">extensions</link> which allow
packaged additions to <productname>PostgreSQL</> (Dimitri
Add <link linkend="extension">extensions</link> which simplify
packaging of additions to <productname>PostgreSQL</> (Dimitri
Fontaine, Tom Lane)
</para>
......@@ -2087,12 +2210,12 @@
<listitem>
<para>
Add <link linkend="file-fdw"><filename>contrib/file_fdw</></link>
foreign-data wrapper for reading files via <command>COPY
</>(Shigeru Hanada)
foreign-data wrapper (Shigeru Hanada)
</para>
<para>
This adds foreign table support for flat-file.
Foreign tables using this foreign data wrapper will read flat files
in a matter very similar to <command>COPY</>.
</para>
</listitem>
......@@ -2144,6 +2267,36 @@
</para>
</listitem>
<listitem>
<para>
Allow <link linkend="intarray"><filename>contrib/intarray</></link>
to work properly on multi-dimensional arrays (Tom Lane)
</para>
</listitem>
<listitem>
<para>
In
<link linkend="intarray"><filename>contrib/intarray</></link>,
avoid errors complaining about the presence nulls in cases where no
nulls are actually present (Tom Lane)
</para>
</listitem>
<listitem>
<para>
In
<link linkend="intarray"><filename>contrib/intarray</></link>,
fix behavior of containment operators with respect to empty arrays
(Tom Lane)
</para>
<para>
Empty arrays are now correctly considered to be contained in any other
array.
</para>
</listitem>
<listitem>
<para>
In <link linkend="xml2"><filename>contrib/xml2</></link>, remove
......@@ -2156,6 +2309,18 @@
</para>
</listitem>
<listitem>
<para>
In <link linkend="pageinspect"><filename>contrib/pageinspect</></link>,
fix heap_page_item to return infomasks as 32-bit values (Alvaro Herrera)
</para>
<para>
This avoids returning negative values, which was confusing. The
underlying value is a 16-bit unsigned integer.
</para>
</listitem>
</itemizedlist>
<sect4>
......
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