Edits to 9.1 release notes.
authorRobert Haas
Thu, 24 Mar 2011 20:57:12 +0000 (16:57 -0400)
committerRobert Haas
Thu, 24 Mar 2011 20:58:01 +0000 (16:58 -0400)
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.

doc/src/sgml/release-9.1.sgml

index 10f1e6ae6911805e73b674003d44c2e5f4bf2731..1a1bac1e10dc4c8eabf874d28760b3a2235b9e04 100644 (file)
@@ -73,7 +73,7 @@
 
      
       
-       Disallow functional or attribute string data type casts for
+       Disallow function-style and attribute-style data type casts for
        composite types (Tom Lane)
       
 
 
       
        
-        Support RIGHT and FULL OUTER JOIN in
-        hash joins (Tom Lane)
+        Allow FULL OUTER JOIN to be implemented as a
+        hash join, and allow either side of a LEFT OUTER JOIN
+        or RIGHT OUTER JOIN to be hashed (Tom Lane)
        
 
        
-        Previously hash joins could not be considered for outer joins;
-        this provides additional query optimization possibilities.
-        **What about LEFT joins?
+        Previously FULL OUTER JOIN could only be
+        implemented as a merge join, and LEFT OUTER JOIN
+        and RIGHT OUTER JOIN could has only the nullable
+        side of the join.  These changes provide additional query optimization
+        possibilities.
        
       
 
        
       
 
+      
+       
+        Reduce the memory requirement for large ispell dictionaries
+        (Pavel Stehule, Tom Lane)
+       
+      
+
      
 
     
 
      
       
-       Add a 
-       linkend="guc-synchronous-replication">synchronous_replication
-       option (Simon Riggs, Fujii Masao)
+       Allow synchronous replication (Simon Riggs, Fujii Masao)
       
 
       
-       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
+       synchronous_standby_names
+       setting.  Synchronous replication can be enabled or disabled on a
+       per-transaction basis using the
+       synchronous_replication
+       setting.  This allows the primary to wait for a standby to write the
+       transaction information to disk before acknowledging the commit.
       
      
 
       
        Add variable 
        linkend="guc-hot-standby-feedback">hot_standby_feedback
-       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)
       
 
       
 
        
         These named restore points can be specified as recovery
-        targets in recovery.conf.
+        targets using the new recovery.conf setting
+        recovery_target_name
        
       
 
         clauses to be fed into INSERT, UPDATE,
         DELETE  statements (Marko Tiikkaja, Hitoshi Harada)
        
-
-       
-        Specifically, let SELECT query results be fed
-        into INSERT, UPDATE, DELETE
-        statements.
-       
       
 
       
 
        
         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.
        
       
 
        
       
 
+      
+       
+        Fix ordinary queries with rules to use the same snapshot behavior
+        as EXPLAIN ANALYZE (Marko Tiikkaja)
+       
+
+       
+        Previously EXPLAIN ANALYZE used a slightly different
+        snapshot for queries involving rules.  The EXPLAIN ANALYZE
+        behavior was judged to be more logical.
+       
+      
+
      
 
     
         Add support for more object types in ALTER ... SET
         SCHEMA commands (Dimitri Fontaine)
        
+
+       
+        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.
+       
       
 
      
       
        
         Add ALTER TABLE ...
-        ADD UNIQUE/PRIMARY KEY USING INDEX>
+        ADD UNIQUE/PRIMARY KEY USING INDEX>
         (Gurjeet Singh)
        
 
        
-        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.
        
       
 
 
       
        
-        Allow ALTER TABLE
-        ... SET DATA TYPE> to avoid table rewrites in
+        Allow ALTER TABLE
+        ... SET DATA TYPE> to avoid table rewrites in
         appropriate cases (Noah Misch, Robert Haas)
        
 
        
         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.
        
       
 
 
      
       
-       Add a true serializable
-        isolation level (Kevin Grittner, Dan Ports)
+       Add a true serializable isolation level (Kevin Grittner, Dan Ports)
       
 
       
-       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 REPEATABLE
        READ isolation level.
        
       
 
-      
-       
-        Fix EXPLAIN ANALYZE
-        with rules to use the same snapshot behavior as ordinary
-        queries (Marko Tiikkaja)
-       
-
-       
-        Previously EXPLAIN ANALYZE used a slightly different
-        snapshot for queries involving rules.
-       
-      
-
      
 
     
 
     
 
+    
+     <link linkend="SQL-CLUSTER"><command>CLUSTER</></link>
+
+     
+
+      
+       
+        Allow CLUSTER to sort the table rather than scanning the index
+        when it seems likely to be cheaper (Leonardo Francalanci)
+       
+      
+
+     
+
+    
+
     
      Indexes
 
        
       
 
+      
+       
+        Allow GIN indexes to
+        better recognize duplicate search entries (Tom Lane)
+       
+
+       
+        This reduces the cost of index scans, especially in cases where
+        it avoids unnecessary full index scans.
+       
+      
+
       
        
         Fix GiST indexes to be fully
       
      
 
+     
+      
+       Allow binary I/O on type void (Radoslaw Smogura)
+      
+     
+
+     
+      
+       Improve hypotenuse calculations for geometric operators (Paul Matthews)
+      
+
+      
+       This avoids unnecessary overflows, and may also be more accurate.
+      
+     
+
     
 
     
        
 
        
-        **Needs description.
+        This is analogous to the existing facility that allows casting a row
+        type to a supertable's row type.
        
       
 
        
 
        
-        This is used for xpath matching.
+        These are used for xpath matching.
        
       
 
 
        
         These check whether the input is properly-formed XML.
+        They supersede functionality that was previously available only using
+        contrib/xml2.
        
       
 
        
 
        
-        **Why were these added?
+        These improve compatibility with other database products.
        
       
 
        
 
        
-        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.
        
       
 
    
     Server-Side Languages
 
-    
+    
+     <link linkend="plpgsql">PL/pgSQL</link> Server-Side Language
 
-     
-      
-       Add FOREACH IN
-       ARRAY to PL/pgSQL to
-       allow array iteration (Pavel Stehule)
-      
+     
 
-      
-       This is more efficient than previous methods.
-      
-     
+      
+       
+        Add FOREACH IN
+        ARRAY to PL/pgSQL to
+        allow array iteration (Pavel Stehule)
+       
+
+       
+        This is more efficient than previous methods.
+       
+      
+
+      
+       
+        Add FOREACH IN
+        ARRAY to PL/pgSQL to
+        allow array iteration (Pavel Stehule)
+       
+
+       
+        This is more efficient than previous methods.
+       
+      
+
+      
+       
+        Allow RAISE without parameters to be caught in
+        the same places that could catch a RAISE ERROR
+        from the same location.
+       
+
+       
+        The new behavior is more consistent.
+       
+      
 
     
 
+    
+
     
      <link linkend="plperl">PL/Perl</link> Server-Side Language
 
        
       
 
+      
+       
+        plpy.Fatal now raises FATAL, rather
+        than ERROR (Jan Urbanski)
+       
+
+       
+        The old behavior was incorrect.
+       
+      
+
       
        
         Overhaul of PL/Python (Jan Urbanski)
        
       
 
+      
+       
+        Make psql distinguish between unique
+        indices and unique constraints (Josh Kupershmidt)
+       
+      
+
       
        
          Additional tab completion of psql variables (Pavel
 
     
 
+    
+     <link linkend="ecpg"><application>ECPG</></link>
+
+     
+
+      
+       
+         Allow ecpg to accept dynamic cursor names even in
+         WHERE CURRENT OF clauses
+       
+      
+
+     
+    
+
    
 
    
 
       
        
-        Add extensions which allow
-        packaged additions to PostgreSQL (Dimitri
+        Add extensions which simplify
+        packaging of additions to PostgreSQL (Dimitri
         Fontaine, Tom Lane)
        
 
      
       
        Add contrib/file_fdw
-       foreign-data wrapper for reading files via COPY
-       (Shigeru Hanada)
+       foreign-data wrapper (Shigeru Hanada)
       
 
       
-       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 COPY.
       
      
 
       
      
 
+     
+      
+       Allow contrib/intarray
+       to work properly on multi-dimensional arrays (Tom Lane)
+      
+     
+
+     
+      
+       In
+       contrib/intarray,
+       avoid errors complaining about the presence nulls in cases where no
+       nulls are actually present (Tom Lane)
+      
+     
+
+     
+      
+       In
+       contrib/intarray,
+       fix behavior of containment operators with respect to empty arrays
+       (Tom Lane)
+      
+
+      
+       Empty arrays are now correctly considered to be contained in any other
+       array.
+      
+     
+
      
       
        In contrib/xml2, remove
       
      
 
+     
+      
+       In contrib/pageinspect,
+       fix heap_page_item to return infomasks as 32-bit values (Alvaro Herrera)
+      
+
+      
+       This avoids returning negative values, which was confusing.  The
+       underlying value is a 16-bit unsigned integer.
+      
+     
+