mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	Add more footnote comments to the release notes.
This commit is contained in:
		@@ -1,11 +1,11 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
$Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.219 2003/10/29 20:38:19 momjian Exp $
 | 
					$Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.220 2003/10/29 22:54:01 momjian Exp $
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<appendix id="release">
 | 
					<appendix id="release">
 | 
				
			||||||
 <title>Release Notes</title>
 | 
					 <title>Release Notes</title>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 <sect1 id="release-devel">
 | 
					 <sect1 id="release-7-4">
 | 
				
			||||||
  <title>Release 7.4</title>
 | 
					  <title>Release 7.4</title>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<sect2><title>Overview</title>
 | 
					<sect2><title>Overview</title>
 | 
				
			||||||
@@ -26,33 +26,103 @@ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.219 2003/10/29 20:38:19 mo
 | 
				
			|||||||
  </footnote>
 | 
					  </footnote>
 | 
				
			||||||
</para>
 | 
					</para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<para> Improved GROUP BY processing by using hash buckets</para>
 | 
					<para> Improved GROUP BY processing by using hash buckets
 | 
				
			||||||
 | 
					  <footnote>
 | 
				
			||||||
 | 
					  <para>
 | 
				
			||||||
 | 
					   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.
 | 
				
			||||||
 | 
					  </para>
 | 
				
			||||||
 | 
					  </footnote>
 | 
				
			||||||
 | 
					</para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<para> New multi-key hash join capability</para>
 | 
					<para> New multi-key hash join capability
 | 
				
			||||||
 | 
					   <footnote>
 | 
				
			||||||
 | 
					   <para>
 | 
				
			||||||
 | 
					    In previous releases, hash joins could only occur on single-column
 | 
				
			||||||
 | 
					    joins.  This release allows multi-column hash joins.
 | 
				
			||||||
 | 
					   </para>
 | 
				
			||||||
 | 
					   </footnote>
 | 
				
			||||||
 | 
					   </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<para> ANSI joins are now better optimized</para>
 | 
					<para> ANSI joins are now better optimized
 | 
				
			||||||
 | 
					   <footnote>
 | 
				
			||||||
 | 
					   <para>
 | 
				
			||||||
 | 
					    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.
 | 
				
			||||||
 | 
					   </para>
 | 
				
			||||||
 | 
					   </footnote>
 | 
				
			||||||
 | 
					   </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<para> Faster and more powerful regular expression code</para>
 | 
					<para> Faster and more powerful regular expression code
 | 
				
			||||||
 | 
					   <footnote>
 | 
				
			||||||
 | 
					   <para>
 | 
				
			||||||
 | 
					    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.
 | 
				
			||||||
 | 
					   </para>
 | 
				
			||||||
 | 
					   </footnote>
 | 
				
			||||||
 | 
					   </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<para> Function-inlining for simple SQL functions</para></glossdef>
 | 
					<para> Function-inlining for simple SQL functions
 | 
				
			||||||
 | 
					   <footnote>
 | 
				
			||||||
 | 
					   <para>
 | 
				
			||||||
 | 
					    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.
 | 
				
			||||||
 | 
					   </para>
 | 
				
			||||||
 | 
					   </footnote>
 | 
				
			||||||
 | 
					   </para></glossdef>
 | 
				
			||||||
</glossentry>
 | 
					</glossentry>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<glossentry> <glossterm> IPv6</glossterm>
 | 
					<glossentry> <glossterm> IPv6</glossterm>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<glossdef><para> Full support for IPv6 connections and IPv6 address
 | 
					<glossdef><para> Full support for IPv6 connections and IPv6 address
 | 
				
			||||||
data types</para></glossdef>
 | 
					data types
 | 
				
			||||||
 | 
					   <footnote>
 | 
				
			||||||
 | 
					   <para>
 | 
				
			||||||
 | 
					    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.
 | 
				
			||||||
 | 
					   </para>
 | 
				
			||||||
 | 
					   </footnote>
 | 
				
			||||||
 | 
					   </para></glossdef>
 | 
				
			||||||
</glossentry>
 | 
					</glossentry>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<glossentry><glossterm> SSL</glossterm>
 | 
					<glossentry><glossterm> SSL</glossterm>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<glossdef><para> Major improvements in SSL performance and
 | 
					<glossdef><para> Major improvements in SSL performance and
 | 
				
			||||||
reliability</para></glossdef>
 | 
					reliability
 | 
				
			||||||
 | 
					   <footnote>
 | 
				
			||||||
 | 
					   <para>
 | 
				
			||||||
 | 
					    Several people very familiar with the SSL API have overhauled our
 | 
				
			||||||
 | 
					    SSL code to improve SSL key negotiation and error recovery.
 | 
				
			||||||
 | 
					   </para>
 | 
				
			||||||
 | 
					   </footnote>
 | 
				
			||||||
 | 
					   </para></glossdef>
 | 
				
			||||||
</glossentry>
 | 
					</glossentry>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<glossentry><glossterm> Index Growth Prevention</glossterm>
 | 
					<glossentry><glossterm> Index Growth Prevention</glossterm>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<glossdef><para> Allow free space map to efficiently reuse empty index
 | 
					<glossdef><para> Allow free space map to efficiently reuse empty index
 | 
				
			||||||
pages, and other free space management improvements.</para></glossdef>
 | 
					pages, and other free space management improvements.
 | 
				
			||||||
 | 
					   <footnote>
 | 
				
			||||||
 | 
					   <para>
 | 
				
			||||||
 | 
					    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.
 | 
				
			||||||
 | 
					   </para>
 | 
				
			||||||
 | 
					   </footnote>
 | 
				
			||||||
 | 
					   </para></glossdef>
 | 
				
			||||||
</glossentry>
 | 
					</glossentry>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<glossentry><glossterm> Standards Compliance</glossterm>
 | 
					<glossentry><glossterm> Standards Compliance</glossterm>
 | 
				
			||||||
@@ -83,17 +153,40 @@ reporting verbosity, and cleaner startup packets.</para></glossdef>
 | 
				
			|||||||
<glossentry><glossterm> Threads</glossterm>
 | 
					<glossentry><glossterm> Threads</glossterm>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<glossdef><para> libpq and ecpg are now fully thread-safe with
 | 
					<glossdef><para> libpq and ecpg are now fully thread-safe with
 | 
				
			||||||
--enable-thread-safety</para></glossdef>
 | 
					--enable-thread-safety
 | 
				
			||||||
 | 
					   <footnote>
 | 
				
			||||||
 | 
					   <para>
 | 
				
			||||||
 | 
					    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.
 | 
				
			||||||
 | 
					   </para>
 | 
				
			||||||
 | 
					   </footnote>
 | 
				
			||||||
 | 
					   </para></glossdef>
 | 
				
			||||||
</glossentry>
 | 
					</glossentry>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<glossentry><glossterm> Contrib</glossterm>
 | 
					<glossentry><glossterm> Contrib</glossterm>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<glossdef><para> New version of full text indexing (tsearch2)</para>
 | 
					<glossdef><para> New version of full text indexing (tsearch2)</para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<para> New autovacuum tool</para>
 | 
					<para> New autovacuum tool
 | 
				
			||||||
 | 
					   <footnote>
 | 
				
			||||||
 | 
					   <para>
 | 
				
			||||||
 | 
					    This new tool monitors the database statistics tables for
 | 
				
			||||||
 | 
					    INSERT/UPDATE/DELETE activity and automatically vacuums tables when
 | 
				
			||||||
 | 
					    needed.
 | 
				
			||||||
 | 
					   </para>
 | 
				
			||||||
 | 
					   </footnote>
 | 
				
			||||||
 | 
					   </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<para> Array handling has been improved and moved into the main
 | 
					<para> Array handling has been improved and moved into the main
 | 
				
			||||||
server</para></glossdef>
 | 
					server
 | 
				
			||||||
 | 
					   <footnote>
 | 
				
			||||||
 | 
					   <para>
 | 
				
			||||||
 | 
					    Many array limitations have been removed and they behave more like
 | 
				
			||||||
 | 
					    fully-supported data types.
 | 
				
			||||||
 | 
					   </para>
 | 
				
			||||||
 | 
					   </footnote>
 | 
				
			||||||
 | 
					   </para></glossdef>
 | 
				
			||||||
</glossentry>
 | 
					</glossentry>
 | 
				
			||||||
</glosslist></para></sect2>
 | 
					</glosslist></para></sect2>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -105,30 +198,98 @@ required for those wishing to migrate data from any previous release.</para>
 | 
				
			|||||||
<para>   Observe the following incompatibilities:
 | 
					<para>   Observe the following incompatibilities:
 | 
				
			||||||
<itemizedlist>
 | 
					<itemizedlist>
 | 
				
			||||||
     <listitem><para> The server-side autocommit setting was removed and reimplemented
 | 
					     <listitem><para> The server-side autocommit setting was removed and reimplemented
 | 
				
			||||||
       in client applications and languages.</para></listitem>
 | 
					       in client applications and languages.
 | 
				
			||||||
 | 
					          <footnote>
 | 
				
			||||||
 | 
						  <para>
 | 
				
			||||||
 | 
						   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.
 | 
				
			||||||
 | 
						  </para>
 | 
				
			||||||
 | 
						  </footnote>
 | 
				
			||||||
 | 
						  </para></listitem>
 | 
				
			||||||
     <listitem><para> Error message wording has changed substantially in this release,
 | 
					     <listitem><para> Error message wording has changed substantially in this release,
 | 
				
			||||||
       and error codes have been added.</para></listitem>
 | 
					       and error codes have been added.</para></listitem>
 | 
				
			||||||
     <listitem><para> ANSI inner joins may behave differently because they are now better optimized</para></listitem>
 | 
					     <listitem><para> ANSI inner joins may behave differently because they are now better optimized</para></listitem>
 | 
				
			||||||
     <listitem><para> A number of server variables have been renamed for clarity</para></listitem>
 | 
					     <listitem><para> A number of server variables have been renamed for
 | 
				
			||||||
     <listitem><para> MOVE/FETCH 0 now does nothing</para></listitem>
 | 
					     clarity, primarily those related to logging</para></listitem>
 | 
				
			||||||
 | 
					     <listitem><para> MOVE/FETCH 0 now does nothing
 | 
				
			||||||
 | 
					        <footnote>
 | 
				
			||||||
 | 
						<para>
 | 
				
			||||||
 | 
						 In prior releases, FETCH 0 would fetch all remaining rows, and
 | 
				
			||||||
 | 
						 MOVE 0 would move to the end of the cursor.
 | 
				
			||||||
 | 
						</para>
 | 
				
			||||||
 | 
						</footnote>
 | 
				
			||||||
 | 
						</para></listitem>
 | 
				
			||||||
     <listitem><para> MOVE/FETCH now returns the actual number of rows moved/fetched, or zero
 | 
					     <listitem><para> MOVE/FETCH now returns the actual number of rows moved/fetched, or zero
 | 
				
			||||||
        if at the beginning/end of the cursor</para></listitem>
 | 
					        if at the beginning/end of the cursor
 | 
				
			||||||
     <listitem><para> COPY now can process carriage-return/line-feed and carriage-return
 | 
						   <footnote>
 | 
				
			||||||
       terminated files.  Literal carriage-returns and line-feeds are no
 | 
						   <para>
 | 
				
			||||||
 | 
						    Prior releases would return the tuple count passed to the
 | 
				
			||||||
 | 
						    command, not the actual number of rows FETCHed or MOVEd.
 | 
				
			||||||
 | 
						   </para>
 | 
				
			||||||
 | 
						   </footnote>
 | 
				
			||||||
 | 
						   </para></listitem>
 | 
				
			||||||
 | 
					     <listitem><para> COPY now can process carriage-return and
 | 
				
			||||||
 | 
					           carriage-return/line-feed end-of-line terminated files.</para></listitem>
 | 
				
			||||||
 | 
					     <listitem><para>Literal carriage-returns and line-feeds are no
 | 
				
			||||||
       longer accepted as data values;  use \r and \n instead.</para></listitem>
 | 
					       longer accepted as data values;  use \r and \n instead.</para></listitem>
 | 
				
			||||||
     <listitem><para> Trailing spaces are now trimmed when converting
 | 
					     <listitem><para> Trailing spaces are now trimmed when converting
 | 
				
			||||||
	from <type>CHAR(n)</type> to
 | 
						from <type>CHAR(n)</type> to
 | 
				
			||||||
       <type>VARCHAR(n)</type> / <type>TEXT</type></para></listitem>
 | 
					       <type>VARCHAR(n)</type> / <type>TEXT</type></para></listitem>
 | 
				
			||||||
     <listitem><para> <function>FLOAT(p)</function> now measures 'p' in bits, not digits</para></listitem>
 | 
					     <listitem><para> <function>FLOAT(p)</function> now measures 'p' in bits, not digits</para></listitem>
 | 
				
			||||||
     <listitem><para> Ambiguous date values now must match the ordering specified by DateStyle</para></listitem>
 | 
					     <listitem><para> Ambiguous date values now must match the ordering specified by DateStyle
 | 
				
			||||||
 | 
					        <footnote>
 | 
				
			||||||
 | 
						<para>
 | 
				
			||||||
 | 
						 In prior releases, a date of <literal>10/20/03</> was
 | 
				
			||||||
 | 
						 interpreted as a date in October even if the
 | 
				
			||||||
 | 
						 <varname>DateStyle</> specified the day should be first. In
 | 
				
			||||||
 | 
						 7.4, <varname>DateStyle</> is honored when converting such
 | 
				
			||||||
 | 
						 values and will throw an error if the date is invalid for the
 | 
				
			||||||
 | 
						 current <varname>DateStyle</>.
 | 
				
			||||||
 | 
						</para>
 | 
				
			||||||
 | 
						</footnote>
 | 
				
			||||||
 | 
						</para></listitem>
 | 
				
			||||||
     <listitem><para> The <function>oidrand()</function>, <function>oidsrand()</function>,
 | 
					     <listitem><para> The <function>oidrand()</function>, <function>oidsrand()</function>,
 | 
				
			||||||
	and <function>userfntest()</function> functions have been removed.</para></listitem>
 | 
						and <function>userfntest()</function> functions have been removed.
 | 
				
			||||||
 | 
						   <footnote>
 | 
				
			||||||
 | 
						   <para>
 | 
				
			||||||
 | 
						    These functions were determined to be no longer useful.
 | 
				
			||||||
 | 
						   </para>
 | 
				
			||||||
 | 
						   </footnote>
 | 
				
			||||||
 | 
						   </para></listitem>
 | 
				
			||||||
     <listitem><para> <literal>'now'</literal> will no longer work as a column default; <function>now()</> or
 | 
					     <listitem><para> <literal>'now'</literal> will no longer work as a column default; <function>now()</> or
 | 
				
			||||||
        <function>CURRENT_TIMESTAMP</> should be used instead</para></listitem>
 | 
					        <function>CURRENT_TIMESTAMP</> should be used instead
 | 
				
			||||||
 | 
						   <footnote>
 | 
				
			||||||
 | 
						   <para>
 | 
				
			||||||
 | 
						    In prior releases, there was special code so the string
 | 
				
			||||||
 | 
						    <literal>'now'</literal> was interpreted at
 | 
				
			||||||
 | 
						    <command>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
 | 
				
			||||||
 | 
						    <function>now()</> or the special value
 | 
				
			||||||
 | 
						    <function>CURRENT_TIMESTAMP</>. These will work in all
 | 
				
			||||||
 | 
						    situations.
 | 
				
			||||||
 | 
						   </para>
 | 
				
			||||||
 | 
						   </footnote>
 | 
				
			||||||
 | 
						   </para></listitem>
 | 
				
			||||||
     <listitem><para> <literal>'today'</literal> will no longer work as a column default; <function>CURRENT_DATE</> 
 | 
					     <listitem><para> <literal>'today'</literal> will no longer work as a column default; <function>CURRENT_DATE</> 
 | 
				
			||||||
        should be used instead</para></listitem>
 | 
					        should be used instead
 | 
				
			||||||
 | 
						   <footnote>
 | 
				
			||||||
 | 
						   <para>
 | 
				
			||||||
 | 
						    Same description as above.
 | 
				
			||||||
 | 
						   </para>
 | 
				
			||||||
 | 
						   </footnote>
 | 
				
			||||||
 | 
						   </para></listitem>
 | 
				
			||||||
     <listitem><para> Dollar sign (<literal>$</>) is no longer allowed in operator names</para></listitem>
 | 
					     <listitem><para> Dollar sign (<literal>$</>) is no longer allowed in operator names</para></listitem>
 | 
				
			||||||
     <listitem><para> Dollar sign (<literal>$</>) can be a non-first character in identifiers</para></listitem>
 | 
					     <listitem><para> Dollar sign (<literal>$</>) can be a non-first character in identifiers
 | 
				
			||||||
 | 
					        <footnote>
 | 
				
			||||||
 | 
						<para>
 | 
				
			||||||
 | 
						 This was done to improve compatibility with other database
 | 
				
			||||||
 | 
						 systems.
 | 
				
			||||||
 | 
						</para>
 | 
				
			||||||
 | 
						</footnote>
 | 
				
			||||||
 | 
						</para></listitem>
 | 
				
			||||||
</itemizedlist></para></sect2>
 | 
					</itemizedlist></para></sect2>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<sect2> <title> Changes </title>
 | 
					<sect2> <title> Changes </title>
 | 
				
			||||||
@@ -137,7 +298,13 @@ required for those wishing to migrate data from any previous release.</para>
 | 
				
			|||||||
<itemizedlist>
 | 
					<itemizedlist>
 | 
				
			||||||
<listitem><para>Allow IPv6 server connections (Nigel Kukard, Johan Jordaan, Bruce, Tom, Kurt
 | 
					<listitem><para>Allow IPv6 server connections (Nigel Kukard, Johan Jordaan, Bruce, Tom, Kurt
 | 
				
			||||||
  Roeckx, Andrew Dunstan)</para></listitem>
 | 
					  Roeckx, Andrew Dunstan)</para></listitem>
 | 
				
			||||||
<listitem><para>Fix SSL to handle errors cleanly (Nathan Mueller)</para></listitem>
 | 
					<listitem><para>Fix SSL to handle errors cleanly (Nathan Mueller)
 | 
				
			||||||
 | 
					   <footnote>
 | 
				
			||||||
 | 
					   <para>
 | 
				
			||||||
 | 
					    In prior releases, 
 | 
				
			||||||
 | 
					   </para>
 | 
				
			||||||
 | 
					   </footnote>
 | 
				
			||||||
 | 
					   </para></listitem>
 | 
				
			||||||
<listitem><para>SSL protocol security and performance improvements (Sean Chittenden)</para></listitem>
 | 
					<listitem><para>SSL protocol security and performance improvements (Sean Chittenden)</para></listitem>
 | 
				
			||||||
<listitem><para>Print lock information when a deadlock is detected (Tom)</para></listitem>
 | 
					<listitem><para>Print lock information when a deadlock is detected (Tom)</para></listitem>
 | 
				
			||||||
<listitem><para>Update <filename>/tmp</filename> socket mod. times regularly to avoid their removal (Tom)</para></listitem>
 | 
					<listitem><para>Update <filename>/tmp</filename> socket mod. times regularly to avoid their removal (Tom)</para></listitem>
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user