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

Further editing of release notes.

parent 99ee43c5
<!-- $PostgreSQL: pgsql/doc/src/sgml/release-9.0.sgml,v 2.51 2010/08/24 14:46:29 momjian Exp $ --> <!-- $PostgreSQL: pgsql/doc/src/sgml/release-9.0.sgml,v 2.52 2010/08/24 23:45:32 tgl Exp $ -->
<sect1 id="release-9-0"> <sect1 id="release-9-0">
<title>Release 9.0</title> <title>Release 9.0</title>
...@@ -43,50 +43,48 @@ ...@@ -43,50 +43,48 @@
<listitem> <listitem>
<para> <para>
Easier database object permissions management. <link Easier database object permissions management. <link
linkend="SQL-GRANT"><command>GRANT</>/<command>REVOKE linkend="SQL-GRANT"><command>GRANT</>/<command>REVOKE IN
IN SCHEMA</></link> supports mass permissions changes, and SCHEMA</></link> supports mass permissions changes on existing objects,
the <link linkend="SQL-ALTERDEFAULTPRIVILEGES"><command>ALTER while <link linkend="SQL-ALTERDEFAULTPRIVILEGES"><command>ALTER DEFAULT
DEFAULT PRIVILEGES</></link> command controls privileges PRIVILEGES</></link> allows control of privileges for objects created in
of all newly-created objects. Large object permissions now the future. Large objects (BLOBs) now support privilege management as
support <command>GRANT</>/<command>REVOKE</> as well. well.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add support for compiling on <link Broadly enhanced stored procedure support.
linkend="install-win32-full">64-bit The <link linkend="SQL-DO"><command>DO</></link> statement supports
<productname>Windows</></link> and running in 64-bit ad-hoc or <quote>anonymous</> code blocks.
mode. Functions can now be called using named parameters.
<link linkend="plpgsql">PL/pgSQL</link> is now installed by default, and
<link linkend="plperl">PL/Perl</link> and <link
linkend="plpython">PL/Python</link> have been enhanced in several ways,
including support for Python3.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Broadly enhanced stored procedure support. Full support for <link linkend="install-win32">64-bit
The <link linkend="SQL-DO"><command>DO</></link> statement permits <productname>Windows</></link>.
ad-hoc or anonymous code blocks. Functions can now be called using named
parameters. <link linkend="plpgsql">PL/pgSQL</link> is now installed by default,
and <link linkend="plperl">PL/Perl</link> and <link linkend="plpython">PL/Python</link>
have been enhanced in several ways, including support for Python3.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
More advanced reporting queries with additional <link More advanced reporting queries, including additional windowing options
linkend="functions-window">window functions</link> (<literal>PRECEDING</> and <literal>FOLLOWING</>) and the ability to
(<literal>PRECEDING</> and <literal>FOLLOWING</>) and the ability control the order in which values are fed to aggregate functions.
to <link linkend="syntax-aggregates"><literal>ORDER BY</></link>
inside aggregate functions.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Triggers now support two new features, New trigger features, including
SQL-compliant <link SQL-standard-compliant <link
linkend="SQL-CREATETRIGGER">per-column triggers</link>, and linkend="SQL-CREATETRIGGER">per-column triggers</link> and
conditional trigger execution. conditional trigger execution.
</para> </para>
</listitem> </listitem>
...@@ -101,68 +99,71 @@ ...@@ -101,68 +99,71 @@
<listitem> <listitem>
<para> <para>
New and enhanced security features, including <link linkend="client-authentication">RADIUS authentication</link>, <link linkend="ddl-constraints-exclusion">Exclusion constraints</link>.
LDAP authentication improvements, and the new <link linkend="passwordcheck">passwordcheck</link> optional module These provide a generalized version of unique constraints, allowing
for testing password strength. enforcement of complex conditions.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
The <link linkend="SQL-LISTEN"><command>LISTEN</></link>/<link New and enhanced security features, including RADIUS authentication,
linkend="SQL-NOTIFY"><command>NOTIFY</></link> LDAP authentication improvements, and a new contrib module
feature has been overhauled to make it into <link linkend="passwordcheck"><filename>passwordcheck</></link>
a high-performance event queuing system. It now stores for testing password strength.
events in a memory-based queue, and it now allows delivery
of a string payload to listeners with each event.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <link linkend="pgupgrade"><filename>/contrib/pg_upgrade</></link> New high-performance implementation of the
to support in-place upgrades from 8.3 or 8.4 to 9.0. <link linkend="SQL-LISTEN"><command>LISTEN</></link>/<link
linkend="SQL-NOTIFY"><command>NOTIFY</></link> feature.
Pending events are now stored in a memory-based queue rather than
a table. Also, a <quote>payload</> string can be sent with each
event, rather than transmitting just an event name as before.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Multiple performance enhancements for specific types of queries, New implementation of
including join elimination, which optimizes automatically generated <link linkend="SQL-VACUUM"><command>VACUUM FULL</></link>.
queries, such as those produced by object-relational mappers (ORMs). This command now rewrites the entire table and indexes, rather than
moving individual rows to compact space. It is substantially faster
in most cases, and no longer results in index bloat.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
<link linkend="ddl-constraints-exclusion">Exclusion constraints</link> New contrib module
let database designers define uniqueness based on complex <link linkend="pgupgrade"><filename>pg_upgrade</></link>
criteria, including for non-scalar data such as time periods, to support in-place upgrades from 8.3 or 8.4 to 9.0.
ranges and arrays.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
As part of our decade-long effort to eliminate the pain of VACUUM, Multiple performance enhancements for specific types of queries,
<link linkend="vacuum-for-space-recovery"><command>VACUUM FULL</></link> including elimination of unnecessary joins. This helps optimize some
is now substantially faster by rewriting the entire table and automatically-generated queries, such as those produced by
indexes, rather than moving around single rows to compact space. object-relational mappers (ORMs).
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
<link linkend="using-explain"><command>EXPLAIN</command></link> <link linkend="SQL-EXPLAIN "><command>EXPLAIN</></link> enhancements.
plans are now available in JSON, XML and YAML format, and include The output is now available in JSON, XML, or YAML format, and includes
buffer utilization and other data not previously available. buffer utilization and other data not previously available.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
The <link linkend="hstore">HStore optional module</link> has been improved with new functions and greater <link linkend="hstore"><filename>hstore</></link> improvements,
data capacity to make it a high-performance key-value store. including new functions and greater data capacity.
</para> </para>
</listitem> </listitem>
...@@ -216,9 +217,9 @@ ...@@ -216,9 +217,9 @@
<listitem> <listitem>
<para> <para>
<link linkend="guc-wal-level"><varname>wal_level</></link> should now be Replace server parameter <varname>archive_mode</> with
set to <literal>archive</>, not <literal>on</>, to do continuous <link linkend="guc-wal-level"><varname>wal_level</></link>
archiving (Heikki Linnakangas) (Heikki Linnakangas)
</para> </para>
</listitem> </listitem>
...@@ -252,18 +253,6 @@ ...@@ -252,18 +253,6 @@
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Make <function>date_trunc</> truncate rather than round when reducing
fractional-seconds precision (Tom Lane)
</para>
<para>
The code always acted this way for integer-based dates/times.
Now float-based dates/times behave similarly.
</para>
</listitem>
</itemizedlist> </itemizedlist>
</sect3> </sect3>
...@@ -316,6 +305,18 @@ ...@@ -316,6 +305,18 @@
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Make <function>date_trunc</> truncate rather than round when reducing
precision of fractional seconds (Tom Lane)
</para>
<para>
The code always acted this way for integer-based dates/times.
Now float-based dates/times behave similarly.
</para>
</listitem>
</itemizedlist> </itemizedlist>
</sect3> </sect3>
...@@ -550,11 +551,25 @@ ...@@ -550,11 +551,25 @@
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Improve performance and reliability of EvalPlanQual rechecks in join
queries (Tom Lane)
</para>
<para>
<command>UPDATE</>, <command>DELETE</>, and <command>SELECT FOR
UPDATE/SHARE</> queries that involve joins will now behave much better
when encountering freshly-updated rows.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Improve performance of <link Improve performance of <link
linkend="SQL-TRUNCATE"><command>TRUNCATE</></link> when linkend="SQL-TRUNCATE"><command>TRUNCATE</></link> when
used in the same transaction as table creation (Tom Lane) the table was created or truncated earlier in the same transaction
(Tom Lane)
</para> </para>
</listitem> </listitem>
...@@ -580,8 +595,8 @@ ...@@ -580,8 +595,8 @@
</para> </para>
<para> <para>
Outer joins where the inner side is unique and not referenced in Outer joins where the inner side is unique and not referenced above
the query are unnecessary and are therefore now removed. This will the join are unnecessary and are therefore now removed. This will
accelerate many automatically generated queries, such as those created accelerate many automatically generated queries, such as those created
by object-relational mappers (ORMs). by object-relational mappers (ORMs).
</para> </para>
...@@ -599,6 +614,14 @@ ...@@ -599,6 +614,14 @@
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Improve the optimizer's choices about when to use materialize nodes,
and when to use sorting versus hashing for <literal>DISTINCT</>
(Tom Lane)
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Improve the optimizer's equivalence detection for expressions involving Improve the optimizer's equivalence detection for expressions involving
...@@ -634,7 +657,8 @@ ...@@ -634,7 +657,8 @@
</para> </para>
<para> <para>
This avoids the rare error <quote>failed to make a valid plan</>. This avoids the rare error <quote>failed to make a valid plan</>,
and should also improve planning speed.
</para> </para>
</listitem> </listitem>
...@@ -823,7 +847,7 @@ ...@@ -823,7 +847,7 @@
Add <link Add <link
linkend="monitoring-stats-funcs-table"><function>pg_stat_reset_single_table_counters()</></link> linkend="monitoring-stats-funcs-table"><function>pg_stat_reset_single_table_counters()</></link>
and <function>pg_stat_reset_single_function_counters()</> and <function>pg_stat_reset_single_function_counters()</>
to allow resetting of the statistics counters for individual to allow resetting the statistics counters for individual
tables and indexes (Magnus Hagander) tables and indexes (Magnus Hagander)
</para> </para>
</listitem> </listitem>
...@@ -849,9 +873,11 @@ ...@@ -849,9 +873,11 @@
not combinations. All role and database settings are now stored not combinations. All role and database settings are now stored
in the new <structname>pg_db_role_setting</> system table. A new in the new <structname>pg_db_role_setting</> system table. A new
<application>psql</> command <literal>\drds</> shows these settings. <application>psql</> command <literal>\drds</> shows these settings.
Backwards-compatible system views do not show combination settings. The legacy system views <structname>pg_roles</>,
<structname>pg_shadow</>, and <structname>pg_user</>
do not show combination settings, and therefore no longer
completely represent the configuration for a user or database.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
...@@ -886,42 +912,43 @@ ...@@ -886,42 +912,43 @@
<listitem> <listitem>
<para> <para>
Log changes of parameter values when <filename>postgresql.conf</> is Change server parameter <link
reloaded (Peter Eisentraut) linkend="guc-log-temp-files"><varname>log_temp_files</></link> to
use default file size units of kilobytes (Robert Haas)
</para> </para>
<para> <para>
This lets administrators and security staff audit changes of database Previously this setting was interpreted in bytes if no units were
settings, and is also very convenient for checking the effects of specified.
<filename>postgresql.conf</> edits.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add proper permissions for custom server parameters (Tom Lane) Log changes of parameter values when <filename>postgresql.conf</> is
reloaded (Peter Eisentraut)
</para> </para>
<para> <para>
Custom parameters can now only be created by super-users, This lets administrators and security staff audit changes of database
but then can be modified by ordinary users if the parameter's settings, and is also very convenient for checking the effects of
permissions allow it. This makes custom parameters <filename>postgresql.conf</> edits.
appropriate for security-related settings. Previously, any user
could create or modify custom parameters.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Change server parameter <link Properly enforce superuser permissions for custom server parameters
linkend="guc-log-temp-files"><varname>log_temp_files</></link> to (Tom Lane)
use default file size units of kilobytes (Robert Haas)
</para> </para>
<para> <para>
Previously this setting was interpreted in bytes if no units were Non-superusers can no longer issue <command>ALTER
specified. ROLE</>/<command>DATABASE SET</> for parameters that are not currently
known to the server. This allows the server to correctly check that
superuser-only parameters are only set by superusers. Previously,
the <literal>SET</> would be allowed and then ignored at session start,
making superuser-only custom parameters practically useless.
</para> </para>
</listitem> </listitem>
...@@ -957,7 +984,7 @@ ...@@ -957,7 +984,7 @@
<para> <para>
Allow mixing of traditional and SQL-standard <link Allow mixing of traditional and SQL-standard <link
linkend="SQL-LIMIT"><literal>LIMIT</>/<literal>OFFSET</></link> linkend="SQL-LIMIT"><literal>LIMIT</>/<literal>OFFSET</></link>
syntax in the same query (Tom Lane) syntax (Tom Lane)
</para> </para>
</listitem> </listitem>
...@@ -1063,29 +1090,14 @@ ...@@ -1063,29 +1090,14 @@
</itemizedlist> </itemizedlist>
<sect4> <sect4>
<title><command>ALTER</></title> <title><command>ALTER TABLE</></title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Add <link linkend="SQL-ALTERDEFAULTPRIVILEGES"><command>ALTER Implement <literal>IF EXISTS</> for <literal>ALTER TABLE DROP COLUMN</>
DEFAULT PRIVILEGES</></link> command to control privileges and <literal>ALTER TABLE DROP CONSTRAINT </> (Andres Freund)
of objects created later (Petr Jelinek)
</para>
<para>
This greatly simplifies the assignment of object privileges in a
complex database application. Default privileges can be set for
tables, views, sequences, and functions. Defaults may be assigned on a
per-schema basis, or database-wide.
</para>
</listitem>
<listitem>
<para>
Implement <literal>IF EXISTS</> for <literal>DROP COLUMN</> and
<literal>DROP CONSTRAINT </> (Andres Freund)
</para> </para>
</listitem> </listitem>
...@@ -1223,7 +1235,21 @@ ...@@ -1223,7 +1235,21 @@
and makes it easier to utilize database roles for application and makes it easier to utilize database roles for application
data security. data security.
</para> </para>
</listitem>
<listitem>
<para>
Add <link linkend="SQL-ALTERDEFAULTPRIVILEGES"><command>ALTER
DEFAULT PRIVILEGES</></link> command to control privileges
of objects created later (Petr Jelinek)
</para>
<para>
This greatly simplifies the assignment of object privileges in a
complex database application. Default privileges can be set for
tables, views, sequences, and functions. Defaults may be assigned on a
per-schema basis, or database-wide.
</para>
</listitem> </listitem>
<listitem> <listitem>
...@@ -1235,7 +1261,7 @@ ...@@ -1235,7 +1261,7 @@
<para> <para>
Formerly, any database user could read or modify any large object. Formerly, any database user could read or modify any large object.
Read and write permissions can now be granted and revoked per Read and write permissions can now be granted and revoked per
large object. large object, and the ownership of large objects is tracked.
</para> </para>
</listitem> </listitem>
...@@ -1285,7 +1311,7 @@ ...@@ -1285,7 +1311,7 @@
</para> </para>
<para> <para>
Global catalogs still cannot be clustered. Shared catalogs still cannot be clustered.
</para> </para>
</listitem> </listitem>
...@@ -1429,6 +1455,14 @@ ...@@ -1429,6 +1455,14 @@
</para> </para>
</listitem> </listitem>
<listitem>
<para>
By default, multicolumn indexes are now named after all their columns;
and index expression columns are now named based on their expressions
(Tom Lane)
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Reindexing shared system catalogs is now fully transactional Reindexing shared system catalogs is now fully transactional
...@@ -1521,7 +1555,7 @@ ...@@ -1521,7 +1555,7 @@
<listitem> <listitem>
<para> <para>
Tighten input requirements for <type>int2vector</> input (Caleb Tighten input checking for <type>int2vector</> values (Caleb
Welton) Welton)
</para> </para>
</listitem> </listitem>
...@@ -1630,9 +1664,9 @@ ...@@ -1630,9 +1664,9 @@
<listitem> <listitem>
<para> <para>
Fix <function>to_char()</> to output the proper localized Fix <function>to_char()</> to output localized numeric and monetary
numeric and monetary characters on <productname>Windows</> strings in the correct encoding on <productname>Windows</>
(Hiroshi Inoue, Itagaki Takahir, Bruce Momjian) (Hiroshi Inoue, Itagaki Takahiro, Bruce Momjian)
</para> </para>
</listitem> </listitem>
...@@ -1654,8 +1688,7 @@ ...@@ -1654,8 +1688,7 @@
<listitem> <listitem>
<para> <para>
Allow aggregate functions to use <link Allow aggregate functions to use <link
linkend="syntax-aggregates"><literal>ORDER BY</></> (Andrew linkend="syntax-aggregates"><literal>ORDER BY</></> (Andrew Gierth)
Gierth)
</para> </para>
<para> <para>
...@@ -1666,6 +1699,13 @@ ...@@ -1666,6 +1699,13 @@
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Multi-argument aggregate functions can now use <literal>DISTINCT</>
(Andrew Gierth)
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Add the <link Add the <link
...@@ -1746,16 +1786,24 @@ ...@@ -1746,16 +1786,24 @@
<listitem> <listitem>
<para> <para>
Make the <link linkend="information-schema">information_schema</link> Update the <link linkend="information-schema">information_schema</link>
views properly display maximum octet lengths for <type>char</> and views to conform to SQL:2008
<type>varchar</> columns, as well as the proper precision for datetime (Peter Eisentraut)
columns (Peter Eisentraut)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Speed up information_schema privilege views (Joachim Wieland) Make the <literal>information_schema</> views correctly display maximum
octet lengths for <type>char</> and <type>varchar</> columns (Peter
Eisentraut)
</para>
</listitem>
<listitem>
<para>
Speed up <literal>information_schema</> privilege views
(Joachim Wieland)
</para> </para>
</listitem> </listitem>
...@@ -1889,6 +1937,23 @@ ...@@ -1889,6 +1937,23 @@
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Avoid throwing an unnecessary error for an invalid record reference
(Tom Lane)
</para>
<para>
An error is now thrown only if the reference is actually fetched,
rather than whenever the enclosing expression is reached. For
example, many people have tried to do this in triggers:
<programlisting>
if TG_OP = 'INSERT' AND NEW.col1 = ... then
</programlisting>
This will now actually work as expected.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Improve PL/pgSQL's ability to handle row types with dropped columns Improve PL/pgSQL's ability to handle row types with dropped columns
...@@ -2057,22 +2122,23 @@ ...@@ -2057,22 +2122,23 @@
<para> <para>
<type>Bytea</> values passed into PL/Python are now represented as <type>Bytea</> values passed into PL/Python are now represented as
binary, rather than the PostgreSQL <type>bytea</> text format. Null binary, rather than the PostgreSQL <type>bytea</> text format.
bytes are now also output properly from PL/Python. <type>boolean</> <type>Bytea</> values containing null bytes are now also output
and <type>numeric</> value passing in PL/Python was also improved. properly from PL/Python. Passing of boolean, integer, and float
values was also improved.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <link linkend="plpython-arrays">array parameter/return Support <link linkend="plpython-arrays">arrays</link> as parameters and
support</link> to PL/Python (Peter Eisentraut) return values in PL/Python (Peter Eisentraut)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Improve mapping of domains to Python base types in PL/Python (Peter Eisentraut) Improve mapping of SQL domains to Python types (Peter Eisentraut)
</para> </para>
</listitem> </listitem>
...@@ -2330,10 +2396,10 @@ ...@@ -2330,10 +2396,10 @@
</para> </para>
<para> <para>
Previously the <application>pg_ctl</> process could have been mistakenly Previously, <application>pg_ctl</>'s parent process could have been
identified as a running <application>postmaster</> based on a stale mistakenly identified as a running <application>postmaster</> based on
<application>postmaster</> lock file, resulting in a transient failure a stale <application>postmaster</> lock file, resulting in a transient
to start the database. failure to start the database.
</para> </para>
</listitem> </listitem>
...@@ -2417,6 +2483,14 @@ ...@@ -2417,6 +2483,14 @@
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Avoid extra system calls to block and unblock <literal>SIGPIPE</>
in <application>libpq</>, on platforms that offer alternative methods
(Jeremy Kerr)
</para>
</listitem>
<listitem> <listitem>
<para> <para>
When a <link linkend="libpq-pgpass"><filename>.pgpass</></link>-supplied When a <link linkend="libpq-pgpass"><filename>.pgpass</></link>-supplied
...@@ -2517,20 +2591,20 @@ ...@@ -2517,20 +2591,20 @@
<listitem> <listitem>
<para> <para>
Add <application>ecpg</> out-of-scope cursor support in native mode Add out-of-scope cursor support in <application>ecpg</>'s native mode
(Boszormenyi Zoltan) (Boszormenyi Zoltan)
</para> </para>
<para> <para>
This allows <command>DECLARE</> to use variables that are not in This allows <command>DECLARE</> to use variables that are not in
scope when <command>OPEN</> is called. This facility already existed scope when <command>OPEN</> is called. This facility already existed
in <application>ecpg</> Informix-compatibility mode. in <application>ecpg</>'s Informix-compatibility mode.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow dynamic <application>ecpg</> cursor names (Boszormenyi Zoltan) Allow dynamic cursor names in <application>ecpg</> (Boszormenyi Zoltan)
</para> </para>
</listitem> </listitem>
...@@ -2601,15 +2675,15 @@ ...@@ -2601,15 +2675,15 @@
<para> <para>
These are similar to the existing <literal>all</>, <literal>install</>, These are similar to the existing <literal>all</>, <literal>install</>,
and <literal>installcheck</> targets, but they build <acronym>HTML</> and <literal>installcheck</> targets, but they also build
documentation, build and test <filename>contrib</>, and test <acronym>HTML</> documentation, build and test <filename>contrib</>,
server-side languages and <application>ecpg</>. and test server-side languages and <application>ecpg</>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add data and documentation location control to <link Add data and documentation installation location control to <link
linkend="xfunc-c-pgxs"><acronym>PGXS</></link> Makefiles linkend="xfunc-c-pgxs"><acronym>PGXS</></link> Makefiles
(Mark Cave-Ayland) (Mark Cave-Ayland)
</para> </para>
...@@ -2617,8 +2691,9 @@ ...@@ -2617,8 +2691,9 @@
<listitem> <listitem>
<para> <para>
Add a Makefile rule to build documentation as a single text file Add Makefile rules to build documentation as a single <acronym>HTML</>
(Bruce Momjian) file or as a single plain-text file
(Peter Eisentraut, Bruce Momjian)
</para> </para>
</listitem> </listitem>
...@@ -2652,13 +2727,6 @@ ...@@ -2652,13 +2727,6 @@
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Support multiprocessor compilation using <productname>Microsoft Visual
C</> (Magnus Hagander)
</para>
</listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
...@@ -2757,14 +2825,39 @@ ...@@ -2757,14 +2825,39 @@
<listitem> <listitem>
<para> <para>
Improve the ability to translate <application>psql</> strings Automatically generate the initial contents of
<structname>pg_attribute</> for <quote>bootstrapped</> catalogs
(John Naylor)
</para>
<para>
This greatly simplifies changes to these catalogs.
</para>
</listitem>
<listitem>
<para>
Split the processing of
<command>INSERT</>/<command>UPDATE</>/<command>DELETE</> operations out
of <filename>execMain.c</> (Marko Tiikkaja)
</para>
<para>
Updates are now executed in a separate ModifyTable node. This change is
necessary infrastructure for future improvements.
</para>
</listitem>
<listitem>
<para>
Simplify translation of <application>psql</>'s SQL help text
(Peter Eisentraut) (Peter Eisentraut)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Reduce the length of some file names so that all file paths in the Reduce the lengths of some file names so that all file paths in the
distribution tarball are less than 100 characters (Tom Lane) distribution tarball are less than 100 characters (Tom Lane)
</para> </para>
...@@ -2803,15 +2896,20 @@ ...@@ -2803,15 +2896,20 @@
<listitem> <listitem>
<para> <para>
Restructure the <acronym>HTML</> documentation build Restructure the <acronym>HTML</> documentation
<filename>Makefile</> rules (Peter Eisentraut) <filename>Makefile</> rules to make their dependency checks work
correctly, avoiding unnecessary rebuilds (Peter Eisentraut)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Use <productname>DocBook</> <acronym>XSL</> stylesheets for man page Use <productname>DocBook</> <acronym>XSL</> stylesheets for man page
building (Peter Eisentraut) building, rather than <productname>Docbook2X</> (Peter Eisentraut)
</para>
<para>
This changes the set of tools needed to build the man pages.
</para> </para>
</listitem> </listitem>
...@@ -2823,7 +2921,7 @@ ...@@ -2823,7 +2921,7 @@
<listitem> <listitem>
<para> <para>
Improve error context support in PL/Perl (Alexey Klyukin) Improve error context reports in PL/Perl (Alexey Klyukin)
</para> </para>
</listitem> </listitem>
...@@ -2906,6 +3004,12 @@ ...@@ -2906,6 +3004,12 @@
Restructure use of <literal>LDFLAGS</> to be more consistent Restructure use of <literal>LDFLAGS</> to be more consistent
across platforms (Tom Lane) across platforms (Tom Lane)
</para> </para>
<para>
<literal>LDFLAGS</> is now used for linking both executables and shared
libraries, and we add on <literal>LDFLAGS_EX</> when linking
executables, or <literal>LDFLAGS_SL</> when linking shared libraries.
</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
...@@ -2919,8 +3023,8 @@ ...@@ -2919,8 +3023,8 @@
<listitem> <listitem>
<para> <para>
Simplify use of <productname>C++</> functions in backend code (Kurt Make backend header files safe to include in <productname>C++</>
Harriman, Peter Eisentraut) (Kurt Harriman, Peter Eisentraut)
</para> </para>
<para> <para>
...@@ -2942,10 +3046,23 @@ ...@@ -2942,10 +3046,23 @@
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Change calling convention for <function>SearchSysCache()</> and related
functions to avoid hard-wiring the maximum number of cache keys
(Robert Haas)
</para>
<para>
Existing calls will still work for the moment, but can be expected to
break in 9.1 or later if not converted.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Require calls of <function>fastgetattr()</> and Require calls of <function>fastgetattr()</> and
<function>heap_getattr()</> backend macros to use a non-NULL fourth <function>heap_getattr()</> backend macros to provide a non-NULL fourth
argument (Robert Haas) argument (Robert Haas)
</para> </para>
</listitem> </listitem>
...@@ -2961,8 +3078,8 @@ ...@@ -2961,8 +3078,8 @@
<listitem> <listitem>
<para> <para>
Add parser hooks to access column and parameter references in Add parser hooks for processing ColumnRef and ParamRef nodes
queries (Tom Lane) (Tom Lane)
</para> </para>
</listitem> </listitem>
...@@ -3085,7 +3202,7 @@ ...@@ -3085,7 +3202,7 @@
</para> </para>
<para> <para>
This filter dictionary removes accents from letters, which This filtering dictionary removes accents from letters, which
makes full-text searches over multiple languages much easier. makes full-text searches over multiple languages much easier.
</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