Add more footnote comments to the release notes.
authorBruce Momjian
Wed, 29 Oct 2003 22:54:01 +0000 (22:54 +0000)
committerBruce Momjian
Wed, 29 Oct 2003 22:54:01 +0000 (22:54 +0000)
doc/src/sgml/release.sgml

index afd5f8ffb3f54ece337277b4fc7c2253f372176e..5dea8473a4b223ab342392316b080ef6326ed8c1 100644 (file)
@@ -1,11 +1,11 @@
 
 
 
  Release Notes
 
devel">
7-4">
   Release 7.4
 
 Overview
@@ -26,33 +26,103 @@ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.219 2003/10/29 20:38:19 mo
   
 
 
- Improved GROUP BY processing by using hash buckets
+ Improved GROUP BY processing by using hash buckets
+  
+  
+   In previous releases, GROUP BY totals were accumulated by
+   sequentially scanning the list of groups looking for a match;
+   the 7.4 code places GROUP BY values in hash buckets so the
+   proper match can be found much quicker.  This is particularly
+   significant in speeding up queries that have a large
+   number of distinct GROUP BY values.
+  
+  
+
 
- New multi-key hash join capability
+ New multi-key hash join capability
+   
+   
+    In previous releases, hash joins could only occur on single-column
+    joins.  This release allows multi-column hash joins.
+   
+   
+   
 
- ANSI joins are now better optimized
+ ANSI joins are now better optimized
+   
+   
+    Prior releases evaluated ANSI join syntax only in the order
+    specified by the query;  7.4 allows full optimization of
+    queries using ANSI join syntax, meaning the optimizer considers
+    all possible join orderings and chooses the most efficient.
+   
+   
+   
 
- Faster and more powerful regular expression code
+ Faster and more powerful regular expression code
+   
+   
+    The entire regular expression module has been replaced with a new
+    version by Henry Spencer, originally written for TCL.  The code
+    greatly improves performance and supports several flavors
+    of regular expressions.
+   
+   
+   
 
- Function-inlining for simple SQL functions
+ Function-inlining for simple SQL functions
+   
+   
+    Simple SQL functions can now be inlined by including their SQL
+    in the main query.  This improves performance by preventing
+    repeated calls to the SQL function --- this allows simple
+    SQL functions to behave like macros.
+   
+   
+   
 
 
   IPv6
 
  Full support for IPv6 connections and IPv6 address
-data types
+data types
+   
+   
+    Prior releases allowed only IPv6 connections and IP data types only
+    supported IPv4 addresses. This release adds full IPv6 support in
+    both of these areas.
+   
+   
+   
 
 
  SSL
 
  Major improvements in SSL performance and
-reliability
+reliability
+   
+   
+    Several people very familiar with the SSL API have overhauled our
+    SSL code to improve SSL key negotiation and error recovery.
+   
+   
+   
 
 
  Index Growth Prevention
 
  Allow free space map to efficiently reuse empty index
-pages, and other free space management improvements.
+pages, and other free space management improvements.
+   
+   
+    In prior releases, index pages that were left empty because of
+    deleted rows could only be reused by rows with index values similar
+    to the original rows indexed on that page. In 7.4, VACUUM records
+    empty index pages and allows them to be used for any future index 
+    rows.
+   
+   
+   
 
 
  Standards Compliance
@@ -83,17 +153,40 @@ reporting verbosity, and cleaner startup packets.
  Threads
 
  libpq and ecpg are now fully thread-safe with
---enable-thread-safety
+--enable-thread-safety
+   
+   
+    While prior libpq releases already supported threads, this release
+    improves thread safety by fixing some non-thread-safe code that
+    was used in the database connection routines.
+   
+   
+   
 
 
  Contrib
 
  New version of full text indexing (tsearch2)
 
- New autovacuum tool
+ New autovacuum tool
+   
+   
+    This new tool monitors the database statistics tables for
+    INSERT/UPDATE/DELETE activity and automatically vacuums tables when
+    needed.
+   
+   
+   
 
  Array handling has been improved and moved into the main
-server
+server
+   
+   
+    Many array limitations have been removed and they behave more like
+    fully-supported data types.
+   
+   
+   
 
 
 
@@ -105,30 +198,98 @@ required for those wishing to migrate data from any previous release.
    Observe the following incompatibilities:
 
       The server-side autocommit setting was removed and reimplemented
-       in client applications and languages.
+       in client applications and languages.
+          
+     
+      Server-side autocommit was causing too many problems with
+      languages and applications that wanted to control their own 
+      autocommit behavior so autocommit was removed from the server
+      and added to individual client API's as appropriate.
+     
+     
+     
       Error message wording has changed substantially in this release,
        and error codes have been added.
       ANSI inner joins may behave differently because they are now better optimized
-      A number of server variables have been renamed for clarity
-      MOVE/FETCH 0 now does nothing
+      A number of server variables have been renamed for
+     clarity, primarily those related to logging
+      MOVE/FETCH 0 now does nothing
+        
+   
+    In prior releases, FETCH 0 would fetch all remaining rows, and
+    MOVE 0 would move to the end of the cursor.
+   
+   
+   
       MOVE/FETCH now returns the actual number of rows moved/fetched, or zero
-        if at the beginning/end of the cursor
-      COPY now can process carriage-return/line-feed and carriage-return
-       terminated files.  Literal carriage-returns and line-feeds are no
+        if at the beginning/end of the cursor
+      
+      
+       Prior releases would return the tuple count passed to the
+       command, not the actual number of rows FETCHed or MOVEd.
+      
+      
+      
+      COPY now can process carriage-return and
+           carriage-return/line-feed end-of-line terminated files.
+     Literal carriage-returns and line-feeds are no
        longer accepted as data values;  use \r and \n instead.
       Trailing spaces are now trimmed when converting
    from CHAR(n) to
        VARCHAR(n) / TEXT
       FLOAT(p) now measures 'p' in bits, not digits
-      Ambiguous date values now must match the ordering specified by DateStyle
+      Ambiguous date values now must match the ordering specified by DateStyle
+        
+   
+    In prior releases, a date of 10/20/03 was
+    interpreted as a date in October even if the
+    DateStyle specified the day should be first. In
+    7.4, DateStyle is honored when converting such
+    values and will throw an error if the date is invalid for the
+    current DateStyle.
+   
+   
+   
       The oidrand()oidsrand(),
-   and userfntest() functions have been removed.
+   and userfntest() functions have been removed.
+      
+      
+       These functions were determined to be no longer useful.
+      
+      
+      
       'now' will no longer work as a column default; now() or
-        CURRENT_TIMESTAMP should be used instead
+        CURRENT_TIMESTAMP should be used instead
+      
+      
+       In prior releases, there was special code so the string
+       'now' was interpreted at
+       INSERT time and not at table creation time, but
+       this work around didn't cover all cases.  Release 7.4
+       now requires that defaults be defined properly using the
+       now() or the special value
+       CURRENT_TIMESTAMP. These will work in all
+       situations.
+      
+      
+      
       'today' will no longer work as a column default; CURRENT_DATE 
-        should be used instead
+        should be used instead
+      
+      
+       Same description as above.
+      
+      
+      
       Dollar sign ($) is no longer allowed in operator names
-      Dollar sign ($) can be a non-first character in identifiers
+      Dollar sign ($) can be a non-first character in identifiers
+        
+   
+    This was done to improve compatibility with other database
+    systems.
+   
+   
+   
 
 
   Changes 
@@ -137,7 +298,13 @@ required for those wishing to migrate data from any previous release.
 
 Allow IPv6 server connections (Nigel Kukard, Johan Jordaan, Bruce, Tom, Kurt
   Roeckx, Andrew Dunstan)
-Fix SSL to handle errors cleanly (Nathan Mueller)
+Fix SSL to handle errors cleanly (Nathan Mueller)
+   
+   
+    In prior releases, 
+   
+   
+   
 SSL protocol security and performance improvements (Sean Chittenden)
 Print lock information when a deadlock is detected (Tom)
 Update /tmp socket mod. times regularly to avoid their removal (Tom)