]> granicus.if.org Git - postgresql/commitdiff
Release notes for 9.1alpha2
authorPeter Eisentraut <peter_e@gmx.net>
Thu, 28 Oct 2010 14:42:58 +0000 (17:42 +0300)
committerPeter Eisentraut <peter_e@gmx.net>
Thu, 28 Oct 2010 14:42:58 +0000 (17:42 +0300)
doc/src/sgml/release-9.1.sgml

index 5a51fc54d3f9fd9392de7a7373b13607742c3891..9b7a8c849f72a48c421ed89d3b3256ef26e3cd78 100644 (file)
@@ -1,6 +1,6 @@
 <!-- doc/src/sgml/release-9.1.sgml -->
 
-<!-- This is up-to-date with commits through 2010-09-01 -->
+<!-- This is up-to-date with commits through 2010-10-26 -->
 
 <sect1 id="release-9-1-alpha">
   <title>Release 9.1alpha1</title>
 
        <listitem>
         <para>
-         <emphasis>Recognize functional dependency on primary
-         keys</emphasis>
+         <emphasis>Add ALTER TYPE ... ADD/DROP/ALTER/RENAME ATTRIBUTE</emphasis>
+        </para>
+       </listitem>
+
+       <listitem>
+        <para>
+         <emphasis>Support triggers on views</emphasis>
+        </para>
+
+        <para>
+         This adds the SQL-standard concept of an INSTEAD OF trigger,
+         which is fired instead of performing a physical
+         insert/update/delete.  The trigger function is passed the
+         entire old and/or new rows of the view, and must figure out
+         what to do to the underlying tables to implement the update.
+         So this feature can be used to implement updatable views
+         using trigger programming style rather than rule hacking.
+         </para>
+       </listitem>
+
+       <listitem>
+        <para>
+         <emphasis>Allow WITH clauses to be attached to INSERT, UPDATE, DELETE
+         statements</emphasis>
+        </para>
+
+        <para>
+         This is not the hoped-for facility of using
+         INSERT/UPDATE/DELETE inside a WITH, but rather the other way
+         around.
+        </para>
+       </listitem>
+
+       <listitem>
+        <para>
+         <emphasis>Allow new values to be added to an existing enum type</emphasis>
+        </para>
+       </listitem>
+
+       <listitem>
+        <para>
+         Recognize functional dependency on primary
+         keys
         </para>
         <para>
          This allows a table's other columns to be referenced without listing
 
        <listitem>
         <para>
-         <emphasis>Add CREATE TABLE IF NOT EXISTS</emphasis>
+         Add CREATE TABLE IF NOT EXISTS
         </para>
        </listitem>
 
 
        <listitem>
         <para>
-         <emphasis>Reduce lock levels of CREATE TRIGGER and some ALTER
-         TABLE, CREATE RULE actions</emphasis>
+         <emphasis>Support MergeAppend plans, to allow sorted output
+         from append relations</emphasis>
+        </para>
+
+        <para>
+         This eliminates the former need to sort the output of an
+         Append scan when an ordered scan of an inheritance tree is
+         wanted.  This should be particularly useful for fast-start
+         cases such as queries with LIMIT.
+        </para>
+       </listitem>
+
+       <listitem>
+        <para>
+         <emphasis>Reduce the memory requirement for large ispell dictionaries</emphasis>
+        </para>
+       </listitem>
+
+       <listitem>
+        <para>
+         <emphasis>Teach CLUSTER to use seqscan-and-sort when it's faster than
+         indexscan</emphasis>
         </para>
        </listitem>
 
        <listitem>
         <para>
-         <emphasis>Add some knowledge about prefix matches to
-         tsmatchsel()</emphasis>
+         <emphasis>Improve GIN indexscan cost estimation</emphasis>
         </para>
        </listitem>
 
        <listitem>
         <para>
-         <emphasis>Replace the naive HYPOT() macro with a
-         standards-conformant hypotenuse function</emphasis>
+         <emphasis>Performance improvements in pg_upgrade for uses with many tables</emphasis>
+        </para>
+       </listitem>
+
+       <listitem>
+        <para>
+         Reduce lock levels of CREATE TRIGGER and some ALTER
+         TABLE, CREATE RULE actions
+        </para>
+       </listitem>
+
+       <listitem>
+        <para>
+         Add some knowledge about prefix matches to
+         tsmatchsel()
+        </para>
+       </listitem>
+
+       <listitem>
+        <para>
+         Replace the naive HYPOT() macro with a
+         standards-conformant hypotenuse function
         </para>
        </listitem>
 
 
        <listitem>
         <para>
-         <emphasis>Change the default value of
+         Change the default value of
          <literal>standard_conforming_strings</> to
-         <literal>on</></emphasis>
+         <literal>on</>
         </para>
         <warning>
          <para>
 
        <listitem>
         <para>
-         <emphasis>Add <literal>log_file_mode</> parameter</emphasis>
+         Add <literal>log_file_mode</> parameter
         </para>
         <para>
          This allows control of the file permissions set on log files created
 
        <listitem>
         <para>
-         <emphasis>Add <literal>restart_after_crash</> parameter</emphasis>
+         Add <literal>restart_after_crash</> parameter
         </para>
         <para>
          Normally, we automatically restart after a backend crash, but in
 
        <listitem>
         <para>
-         <emphasis>Make EXPLAIN show the function call expression of a
-         FunctionScan plan node, but only in VERBOSE mode</emphasis>
+         <emphasis>Allow pg_ctl to register the service in either AUTO or DEMAND start
+         type</emphasis>
+        </para>
+       </listitem>
+
+       <listitem>
+        <para>
+         <emphasis>Support host names and host key
+         word <literal>all</literal>
+         in <filename>pg_hba.conf</filename></emphasis>
+        </para>
+       </listitem>
+
+       <listitem>
+        <para>
+         Make EXPLAIN show the function call expression of a
+         FunctionScan plan node, but only in VERBOSE mode
         </para>
        </listitem>
 
        <listitem>
         <para>
-         <emphasis>Make EXPLAIN print PARAM_EXEC Params as
-         the referenced expressions, rather than just $N</emphasis>
+         Make EXPLAIN print PARAM_EXEC Params as
+         the referenced expressions, rather than just $N
         </para>
        </listitem>
 
        <listitem>
         <para>
-         <emphasis>Add vacuum and analyze counters to pg_stat_*_tables
-         views</emphasis>
+         Add vacuum and analyze counters to pg_stat_*_tables
+         views
         </para>
        </listitem>
 
        <listitem>
         <para>
-         <emphasis>Add stats functions and views to provide access to a
-         transaction's own statistics counts</emphasis>
+         Add stats functions and views to provide access to a
+         transaction's own statistics counts
         </para>
        </listitem>
 
 
        <listitem>
         <para>
-         <emphasis>Add server authentication over Unix-domain
-         sockets</emphasis>
+         <emphasis>Add SECURITY LABEL command</emphasis>
+        </para>
+        <para>
+         This is intended as infrastructure to support integration
+         with label-based mandatory access control systems such as
+         SE-Linux.
+        </para>
+       </listitem>
+
+       <listitem>
+        <para>
+         Add server authentication over Unix-domain
+         sockets
         </para>
         <para>
          This adds a libpq connection parameter <literal>requirepeer</> that
 
        <listitem>
         <para>
-         <emphasis>Add string functions: concat(), concat_ws(), left(),
-         right(), and reverse()</emphasis>
+         <emphasis>Accept <literal>public</literal> as a pseudo-role
+         name in <literal>has_table_privilege()</literal> and friends
+         to see if a particular privilege has been granted to
+         <literal>PUBLIC</literal></emphasis>
         </para>
        </listitem>
 
        <listitem>
         <para>
-         <emphasis>Add three-parameter forms of array_to_string and
-         string_to_array</emphasis>
+         Add string functions: concat(), concat_ws(), left(),
+         right(), and reverse()
         </para>
        </listitem>
 
        <listitem>
         <para>
-         <emphasis>Add XMLEXISTS function</emphasis>
+         Add three-parameter forms of array_to_string and
+         string_to_array
         </para>
        </listitem>
 
        <listitem>
         <para>
-         <emphasis>Add xpath_exists() function</emphasis>
+         Add XMLEXISTS function
+        </para>
+       </listitem>
+
+       <listitem>
+        <para>
+         Add xpath_exists() function
         </para>
         <para>
          This is equivalent to XMLEXISTS except that it offers support for
 
        <listitem>
         <para>
-         <emphasis>Add xml_is_well_formed, xml_is_well_formed_document,
+         Add xml_is_well_formed, xml_is_well_formed_document,
          xml_is_well_formed_content functions to the core XML
-         code</emphasis>
+         code
         </para>
         <para>
          These supersede a version previously offered by contrib/xml2.
 
        <listitem>
         <para>
-         <emphasis>Allow numeric to use a more compact, 2-byte header in
-         many cases</emphasis>
+         Allow numeric to use a more compact, 2-byte header in
+         many cases
         </para>
        </listitem>
 
        <listitem>
         <para>
-         <emphasis>Add support for dividing money by money (yielding a
-         float8 result) and for casting between money and numeric</emphasis>
+         Add support for dividing money by money (yielding a
+         float8 result) and for casting between money and numeric
         </para>
        </listitem>
 
 
        <listitem>
         <para>
-         <emphasis>Add options to force quoting of all
-         identifiers</emphasis>
+         Add options to force quoting of all
+         identifiers
         </para>
         <para>
          This includes a quote_all_identifiers parameter which affects the
 
        <listitem>
         <para>
-         <emphasis>Add \conninfo command to psql, to show current connection
-         info</emphasis>
+         Add \conninfo command to psql, to show current connection
+         info
         </para>
        </listitem>
 
        <listitem>
         <para>
-         <emphasis>Extend psql's \e and \ef commands so that a line number
+         Extend psql's \e and \ef commands so that a line number
          can be specified, and the editor's cursor will be initially placed
-         on that line</emphasis>
+         on that line
         </para>
         <para>
          To avoid assumptions about what switch the user's editor takes for
 
        <listitem>
         <para>
-         <emphasis>Add a \sf (show function) command to psql, for those
+         Add a \sf (show function) command to psql, for those
          times when you need to look at a function but don't wish to fire up
-         an editor</emphasis>
+         an editor
         </para>
        </listitem>
 
        <listitem>
         <para>
-         <emphasis>Make psql distinguish between unique indices and unique
-         constraints in \d printout</emphasis>
+         Make psql distinguish between unique indices and unique
+         constraints in \d printout
         </para>
        </listitem>
 
 
        <listitem>
         <para>
-         <emphasis>Modify the handling of RAISE without parameters so that
+         Modify the handling of RAISE without parameters so that
          the error it throws can be caught in the same places that could
-         catch an ordinary RAISE ERROR in the same location</emphasis>
+         catch an ordinary RAISE ERROR in the same location
         </para>
         <para>
          The previous coding insisted on throwing the error from the block
 
        <listitem>
         <para>
-         <emphasis>Remove ancient PL/pgSQL line numbering hack</emphasis>
+         Remove ancient PL/pgSQL line numbering hack
         </para>
         <para>
          PL/pgSQL used to count the second line of the function body as
 
        <listitem>
         <para>
-         <emphasis>Add the ability to compute per-statement latencies (ie,
-         average execution times) to pgbench</emphasis>
+         <emphasis>Updates to contrib/isn ISBN tables</emphasis>
+        </para>
+       </listitem>
+
+       <listitem>
+        <para>
+         Add the ability to compute per-statement latencies (ie,
+         average execution times) to pgbench
         </para>
        </listitem>
 
        <listitem>
         <para>
-         <emphasis>Teach levenshtein() about multi-byte
-         characters</emphasis>
+         Teach levenshtein() about multi-byte
+         characters
         </para>
        </listitem>
 
        <listitem>
         <para>
-         <emphasis>Add btree_gist support for searching on <quote>not
-         equals</quote></emphasis>
+         Add btree_gist support for searching on <quote>not
+         equals</quote>
         </para>
        </listitem>
 
        <listitem>
         <para>
-         <emphasis>Add ssl_cipher() and ssl_version() functions to
-         contrib/sslinfo</emphasis>
+         Add ssl_cipher() and ssl_version() functions to
+         contrib/sslinfo
         </para>
        </listitem>
 
        <listitem>
         <para>
-         <emphasis>Remove the arbitrary (and undocumented) limit on the
+         Remove the arbitrary (and undocumented) limit on the
          number of parameter=value pairs that can be handled by
-         xslt_process()</emphasis>
+         xslt_process()
         </para>
        </listitem>
 
 
        <listitem>
         <para>
-         <emphasis>Include the backend ID in the relpath of temporary
-         relations</emphasis>
+         Include the backend ID in the relpath of temporary
+         relations
         </para>
         <para>
          This allows us to reliably remove all leftover temporary relation
 
        <listitem>
         <para>
-         <emphasis>Rewrite COMMENT ON <replaceable>object</> code for better
-         modularity, and add necessary locking</emphasis>
+         Rewrite COMMENT ON <replaceable>object</> code for better
+         modularity, and add necessary locking
         </para>
        </listitem>
 
        <listitem>
         <para>
-         <emphasis>Add a hook in ExecCheckRTPerms() for eventual use by
-         external security-checking modules</emphasis>
+         Add a hook in ExecCheckRTPerms() for eventual use by
+         external security-checking modules
         </para>
        </listitem>
 
        <listitem>
         <para>
-         <emphasis>Standardize names and calling conventions of
-         get_whatever_oid functions</emphasis>
+         Standardize names and calling conventions of
+         get_whatever_oid functions
         </para>
        </listitem>
 
        <listitem>
         <para>
-         <emphasis>Make NestLoop plan nodes pass outer-relation variables
+         Make NestLoop plan nodes pass outer-relation variables
          into their inner relation using the general PARAM_EXEC executor
          parameter mechanism, rather than the ad-hoc kluge of passing the
-         outer tuple down through ExecReScan</emphasis>
+         outer tuple down through ExecReScan
         </para>
        </listitem>
 
        <listitem>
         <para>
-         <emphasis>Make details of the Numeric representation private to
-         numeric.c</emphasis>
+         Make details of the Numeric representation private to
+         numeric.c
         </para>
        </listitem>
 
        <listitem>
         <para>
-         <emphasis>Suppress some compiler warnings from
-         <literal>clang</></emphasis>
+         Suppress some compiler warnings from
+         <literal>clang</>
         </para>
        </listitem>