SGML cleanup - Mailing list pgsql-patches

From Neil Conway
Subject SGML cleanup
Date
Msg-id 41290D01.5010403@samurai.com
Whole thread Raw
Responses Re: SGML cleanup
List pgsql-patches
This patch fixes various minor issues with the SGML docs:

- SGML markup police: <command> for SQL commands, <productname> for the
formal name "PostgreSQL", <type> for type names, and so on

- untabify release.sgml and runtime.sgml (I'll do a more thorough
untabification later)

- add a section "Deprecated Features" to the release notes, and move the
to_char(interval) notice to it. Also added a notice about the
planned-in-8.1 change of default_use_oids to false by default. Does
anyone know of any more deprecated features in 8.0 that we have active
plans to get rid of?

- other minor improvements

Barring any objections, I intend to apply this patch within the next 48
hours or so.

-Neil

Index: doc/src/sgml/errcodes.sgml
===================================================================
RCS file: /Users/neilc/local/cvs/pgsql-server/doc/src/sgml/errcodes.sgml,v
retrieving revision 1.7
diff -c -r1.7 errcodes.sgml
*** doc/src/sgml/errcodes.sgml    31 Jul 2004 23:04:54 -0000    1.7
--- doc/src/sgml/errcodes.sgml    21 Aug 2004 12:49:31 -0000
***************
*** 1133,1139 ****

  <row>
  <entry>Class 58</entry>
! <entry>System Error (errors external to PostgreSQL itself)</entry>
  </row>

  <row>
--- 1133,1139 ----

  <row>
  <entry>Class 58</entry>
! <entry>System Error (errors external to <productname>PostgreSQL</> itself)</entry>
  </row>

  <row>
Index: doc/src/sgml/problems.sgml
===================================================================
RCS file: /Users/neilc/local/cvs/pgsql-server/doc/src/sgml/problems.sgml,v
retrieving revision 2.18
diff -c -r2.18 problems.sgml
*** doc/src/sgml/problems.sgml    9 Mar 2004 16:57:46 -0000    2.18
--- doc/src/sgml/problems.sgml    21 Aug 2004 12:47:10 -0000
***************
*** 11,18 ****
    <productname>PostgreSQL</productname> more reliable because even the utmost
    care cannot guarantee that every part of
    <productname>PostgreSQL</productname>
!   will work on every
!   platform under every circumstance.
   </para>

   <para>
--- 11,17 ----
    <productname>PostgreSQL</productname> more reliable because even the utmost
    care cannot guarantee that every part of
    <productname>PostgreSQL</productname>
!   will work on every platform under every circumstance.
   </para>

   <para>
***************
*** 241,249 ****
        in each new release, so it is quite possible that a bug you have
        encountered in an older release of <productname>PostgreSQL</>
        has already been fixed. We can only provide limited support for
!       sites using older releases of PostgreSQL; if you require more
!       than we can provide, consider acquiring a commercial support
!       contract.
       </para>
       <para>
       </para>
--- 240,248 ----
        in each new release, so it is quite possible that a bug you have
        encountered in an older release of <productname>PostgreSQL</>
        has already been fixed. We can only provide limited support for
!       sites using older releases of <productname>PostgreSQL</>; if you
!       require more than we can provide, consider acquiring a
!       commercial support contract.
       </para>
       <para>
       </para>
Index: doc/src/sgml/release.sgml
===================================================================
RCS file: /Users/neilc/local/cvs/pgsql-server/doc/src/sgml/release.sgml,v
retrieving revision 1.287
diff -c -r1.287 release.sgml
*** doc/src/sgml/release.sgml    21 Aug 2004 03:25:34 -0000    1.287
--- doc/src/sgml/release.sgml    22 Aug 2004 19:03:39 -0000
***************
*** 27,103 ****

        <listitem>
         <para>
!         This is the first PostgreSQL release to natively run on Microsoft
!         Windows as a server. It can run as a Windows service. This release
!     supports NT-based Windows releases like Win2000, XP, Win2003.
!         Older releases like Windows 95, 98, and ME are not supported because
!     these operating systems do not have the infrastructure to
!     support PostgreSQL.  A separate installer project has been created
!         to ease installation on Windows:
          <ulink url="http://pgfoundry.org/projects/pginstaller">
!     http://pgfoundry.org/projects/pginstaller</ulink>.
         </para>
         <para>
          Previous releases required the Unix emulation toolkit Cygwin for
!         Win32 server support. PostgreSQL has always supported clients on Win32.
         </para>
        </listitem>
       </varlistentry>

       <varlistentry>
        <term>
!        Savepoints Improve Transaction Control
        </term>

        <listitem>
         <para>
          Savepoints allow specific parts of a transaction to be aborted
          without affecting the remainder of the transaction. Prior
!         releases had no such capability; there was no way to recover from
!         a statement failure within a transaction except by aborting the whole
!     transaction. This feature is valuable
!         for application writers who require error recovery within a
!     complex transaction.
         </para>
        </listitem>
       </varlistentry>

       <varlistentry>
        <term>
!        Point-In-Time Recovery Increases Reliability
        </term>

        <listitem>
         <para>
!         Though PostgreSQL is very reliable, in previous releases there
!         was no way to recover from disk drive failure except to restore
!         from a previous backup or use a standby replication server.
!     Point-in-time recovery allows continuous backup of the server.
!     You can recover either to the point of failure or to some
!     transaction in the past.
         </para>
        </listitem>
       </varlistentry>

       <varlistentry>
        <term>
!        Tablespaces Simplify Disk Layout
        </term>

        <listitem>
         <para>
!         Tablespaces allow administrators
!         to select the file systems used for storage of databases,
!         schemas, tables, or indexes. This improves performance and
!         control over disk space usage. Prior releases used
!         <literal>initlocation</> and manual symlink management for such tasks.
         </para>
        </listitem>
       </varlistentry>

       <varlistentry>
        <term>
!        Improved Buffer Management, CHECKPOINT, VACUUM
        </term>

        <listitem>
--- 27,106 ----

        <listitem>
         <para>
!         This is the first <productname>PostgreSQL</productname>
!         release to natively run on Microsoft Windows as a server. It
!         can run as a Windows service. This release supports NT-based
!         Windows releases like Win2000, XP, Win2003.  Older releases
!         like Windows 95, 98, and ME are not supported because these
!         operating systems do not have the infrastructure to support
!         <productname>PostgreSQL</productname>.  A separate installer
!         project has been created to ease installation on Windows:
          <ulink url="http://pgfoundry.org/projects/pginstaller">
!         http://pgfoundry.org/projects/pginstaller</ulink>.
         </para>
         <para>
          Previous releases required the Unix emulation toolkit Cygwin for
!         Win32 server support. <productname>PostgreSQL</productname>
!         has always supported clients on Win32.
         </para>
        </listitem>
       </varlistentry>

       <varlistentry>
        <term>
!        Savepoints
        </term>

        <listitem>
         <para>
          Savepoints allow specific parts of a transaction to be aborted
          without affecting the remainder of the transaction. Prior
!         releases had no such capability; there was no way to recover
!         from a statement failure within a transaction except by
!         aborting the whole transaction. This feature is valuable for
!         application writers who require error recovery within a
!         complex transaction.
         </para>
        </listitem>
       </varlistentry>

       <varlistentry>
        <term>
!        Point-In-Time Recovery
        </term>

        <listitem>
         <para>
!         Though <productname>PostgreSQL</productname> is very reliable,
!         in previous releases there was no way to recover from disk
!         drive failure except to restore from a previous backup or use
!         a standby replication server.  Point-in-time recovery allows
!         continuous backup of the server.  You can recover either to
!         the point of failure or to some transaction in the past.
         </para>
        </listitem>
       </varlistentry>

       <varlistentry>
        <term>
!        Tablespaces
        </term>

        <listitem>
         <para>
!         Tablespaces allow administrators to select the file systems
!         used for storage of databases, schemas, tables, or
!         indexes. This improves performance and control over disk space
!         usage. Prior releases used <application>initlocation</> and
!         manual symlink management for such tasks.
         </para>
        </listitem>
       </varlistentry>

       <varlistentry>
        <term>
!        Improved Buffer Management, <command>CHECKPOINT</command>,
!        <command>VACUUM</command>
        </term>

        <listitem>
***************
*** 117,123 ****

        <listitem>
         <para>
!         A column's data type can now be changed with ALTER TABLE.
         </para>
        </listitem>
       </varlistentry>
--- 120,127 ----

        <listitem>
         <para>
!         A column's data type can now be changed with <command>ALTER
!         TABLE</command>.
         </para>
        </listitem>
       </varlistentry>
***************
*** 130,151 ****
        <listitem>
         <para>
          A new version of the <application>plperl</> server-side language now
!     supports a persistent shared storage area, triggers, returning records
!     and arrays of records, and SPI calls to access the database.
         </para>
        </listitem>
       </varlistentry>

       <varlistentry>
        <term>
!        COPY Handles Comma-Separated-Value Files
        </term>

        <listitem>
         <para>
!         COPY can now read and write comma-separated-value (CSV) files. It
!         has the flexibility to interpret non-standard quoting and
!         separation characters too.
         </para>
        </listitem>
       </varlistentry>
--- 134,155 ----
        <listitem>
         <para>
          A new version of the <application>plperl</> server-side language now
!         supports a persistent shared storage area, triggers, returning records
!         and arrays of records, and SPI calls to access the database.
         </para>
        </listitem>
       </varlistentry>

       <varlistentry>
        <term>
!         CSV support in <command>COPY</command>
        </term>

        <listitem>
         <para>
!         <command>COPY</command> can now read and write
!         comma-separated-value (CSV) files. It has the flexibility to
!         interpret non-standard quoting and separation characters too.
         </para>
        </listitem>
       </varlistentry>
***************
*** 181,189 ****
       <listitem>
        <para>
         Server configuration parameters <varname>SortMem</> and
!        <varname>VacuumMem</> have been renamed to <varname>work_mem</> and
!        <varname>maintenance_work_mem</> to better reflect their use. The
!        original names are still supported in SET and SHOW.
        </para>
       </listitem>

--- 185,194 ----
       <listitem>
        <para>
         Server configuration parameters <varname>SortMem</> and
!        <varname>VacuumMem</> have been renamed to <varname>work_mem</>
!        and <varname>maintenance_work_mem</> to better reflect their
!        use. The original names are still supported in
!        <command>SET</command> and <command>SHOW</command>.
        </para>
       </listitem>

***************
*** 246,253 ****

       <listitem>
        <para>
!        The server now warns of empty strings passed to oid/float4/float8
!        data types. In the next major release, doing this will generate an
         error.
        </para>
       </listitem>
--- 251,259 ----

       <listitem>
        <para>
!        The server now warns of empty strings passed to
!        <type>oid</type>/<type>float4</type>/<type>float8</type> data
!        types. In the next major release, doing this will generate an
         error.
        </para>
       </listitem>
***************
*** 292,299 ****

       <listitem>
        <para>
!        EXECUTE now returns a completion tag that matches the executed
!        statement.
        </para>
       </listitem>

--- 298,305 ----

       <listitem>
        <para>
!        <command>EXECUTE</command> now returns a completion tag that
!        matches the executed statement.
        </para>
       </listitem>

***************
*** 307,314 ****

       <listitem>
        <para>
!        Now that tablespaces have been implemented, initlocation has been
!        removed.
        </para>
       </listitem>

--- 313,320 ----

       <listitem>
        <para>
!        Now that tablespaces have been implemented,
!        <application>initlocation</> has been removed.
        </para>
       </listitem>

***************
*** 321,338 ****
         ignored as well as leading whitespace (which has always been ignored).
        </para>
       </listitem>
-
-      <listitem>
-       <para>
-        The 8.1 release will remove the function <literal>to_char(interval)
-        </literal>.
-       </para>
-      </listitem>
      </itemizedlist>
     </para>
    </sect2>

    <sect2>
     <title>Changes</title>

     <para>
--- 327,372 ----
         ignored as well as leading whitespace (which has always been ignored).
        </para>
       </listitem>
      </itemizedlist>
     </para>
    </sect2>

    <sect2>
+    <title>Deprecated Features</title>
+
+    <para>
+     Some aspects of <productname>PostgreSQL</productname>'s behavior
+     have been determined to be suboptimal. For the sake of backward
+     compatibility these have not been removed in 8.0, but they are
+     considered deprecated and will be removed in the next major
+     release.
+     </para>
+
+    <itemizedlist>
+     <listitem>
+      <para>
+       The 8.1 release will remove the function
+        <literal>to_char(interval)</literal>.
+      </para>
+     </listitem>
+
+     <listitem>
+      <para>
+       By default, tables in <productname>PostgreSQL</productname> 8.0
+       and earlier are created with OIDs. In the next release, this
+       will <emphasis>not</emphasis> be the case: to create a table
+       that contains OIDs, the <literal>WITH OIDS</literal> clause must
+       be specified or the <varname>default_use_oids</varname>
+       configuration parameter must be enabled. Users are encouraged to
+       explicitely use <literal>WITH OIDS</literal> if their tables
+       require OIDs for compatibility with future releases of
+       <productname>PostgreSQL</productname>.
+      </para>
+     </listitem>
+    </itemizedlist>
+   </sect2>
+
+   <sect2>
     <title>Changes</title>

     <para>
***************
*** 396,405 ****
        Add ability to prolong vacuum to reduce performance impact (Jan)
       </para>
       <para>
!       On busy systems, VACUUM performs many I/O requests which can hurt
!       performance for other users. This release allows you to slow down
!       VACUUM to reduce its impact on other users, though this increases the
!       total duration of VACUUM.
       </para>
      </listitem>

--- 430,440 ----
        Add ability to prolong vacuum to reduce performance impact (Jan)
       </para>
       <para>
!       On busy systems, <command>VACUUM</command> performs many I/O
!       requests which can hurt performance for other users. This
!       release allows you to slow down <command>VACUUM</command> to
!       reduce its impact on other users, though this increases the
!       total duration of <command>VACUUM</command>.
       </para>
      </listitem>

***************
*** 469,475 ****

      <listitem>
       <para>
!       Add type-specific ANALYZE statistics capability (Mark Cave-Ayland)
       </para>
       <para>
        This feature allows more flexibility in generating statistics
--- 504,511 ----

      <listitem>
       <para>
!       Add type-specific <command>ANALYZE</command> statistics
!       capability (Mark Cave-Ayland)
       </para>
       <para>
        This feature allows more flexibility in generating statistics
***************
*** 479,485 ****

      <listitem>
       <para>
!       Allow collection of ANALYZE statistics for expression indexes (Tom)
       </para>
       <para>
        Expression indexes (also called functional indexes) allow users to
--- 515,522 ----

      <listitem>
       <para>
!       Allow collection of <command>ANALYZE</command> statistics for
!       expression indexes (Tom)
       </para>
       <para>
        Expression indexes (also called functional indexes) allow users to
***************
*** 493,499 ****

      <listitem>
       <para>
!       New two-stage sampling method for ANALYZE (Manfred Koizar)
       </para>
       <para>
        This gives better statistics for asymmetric data distributions.
--- 530,537 ----

      <listitem>
       <para>
!       New two-stage sampling method for <command>ANALYZE</command>
!       (Manfred Koizar)
       </para>
       <para>
        This gives better statistics for asymmetric data distributions.
***************
*** 502,512 ****

      <listitem>
       <para>
!       Speed up TRUNCATE (Tom)
       </para>
       <para>
        This buys back some of the performance loss observed in 7.4, while still
!       keeping TRUNCATE transaction-safe.
       </para>
      </listitem>

--- 540,550 ----

      <listitem>
       <para>
!       Speed up <command>TRUNCATE</command> (Tom)
       </para>
       <para>
        This buys back some of the performance loss observed in 7.4, while still
!       keeping <command>TRUNCATE</command> transaction-safe.
       </para>
      </listitem>

***************
*** 671,693 ****

      <listitem>
       <para>
!       Allow DECLARE CURSOR to take parameters (Oliver Jowett)
       </para>
       <para>
!       It is now useful to issue DECLARE CURSOR in a Parse message with
!       parameters.  The parameter values sent at Bind time will be substituted
!       into the execution of the cursor's query.
       </para>
      </listitem>

      <listitem>
       <para>
!       Fix hash joins and aggregates of INET and CIDR data types (Tom)
       </para>
       <para>
!       Release 7.4 handled hashing of mixed INET and CIDR values incorrectly.
!       (This bug did not exist in prior releases because they wouldn't try
!       to hash either datatype.)
       </para>
      </listitem>

--- 709,735 ----

      <listitem>
       <para>
!       Allow <command>DECLARE CURSOR</command> to take parameters
!       (Oliver Jowett)
       </para>
       <para>
!       It is now useful to issue <command>DECLARE CURSOR</command> in a
!       Parse message with parameters.  The parameter values sent at
!       Bind time will be substituted into the execution of the cursor's
!       query.
       </para>
      </listitem>

      <listitem>
       <para>
!       Fix hash joins and aggregates of <type>inet</type> and
!       <type>cidr</type> data types (Tom)
       </para>
       <para>
!       Release 7.4 handled hashing of mixed <type>inet</type> and
!       <type>cidr</type> values incorrectly.  (This bug did not exist
!       in prior releases because they wouldn't try to hash either
!       datatype.)
       </para>
      </listitem>

***************
*** 719,726 ****

      <listitem>
       <para>
!       Allow BEGIN WORK to specify transaction isolation levels like START
!       TRANSACTION (Bruce)
       </para>
      </listitem>

--- 761,769 ----

      <listitem>
       <para>
!       Allow <command>BEGIN WORK</command> to specify transaction
!       isolation levels like <command>START TRANSACTION</command> does
!       (Bruce)
       </para>
      </listitem>

***************
*** 824,835 ****

      <listitem>
       <para>
!       Change EXECUTE to return a completion tag matching the executed statement
!       (Kris Jurka)
       </para>
       <para>
!       Previous releases return an EXECUTE tag for any EXECUTE call. In
!       this release, the tag returned will reflect the command executed.
       </para>
      </listitem>

--- 867,879 ----

      <listitem>
       <para>
!       Change <command>EXECUTE</command> to return a completion tag
!       matching the executed statement (Kris Jurka)
       </para>
       <para>
!       Previous releases return an <command>EXECUTE</command> tag for
!       any <command>EXECUTE</command> call. In this release, the tag
!       returned will reflect the command executed.
       </para>
      </listitem>

***************
*** 864,877 ****
        control whether tables are created with OIDs by default (Neil)
       </para>
       <para>
!       This allows administrators to default all CREATE TABLE commands to
!       create tables without OID columns.
       </para>
      </listitem>

      <listitem>
       <para>
!       Add WITH / WITHOUT OIDS clause to CREATE TABLE AS (Neil)
       </para>
      </listitem>

--- 908,922 ----
        control whether tables are created with OIDs by default (Neil)
       </para>
       <para>
!       This allows administrators to default all <command>CREATE
!       TABLE</command> commands to create tables without OID columns.
       </para>
      </listitem>

      <listitem>
       <para>
!       Add WITH / WITHOUT OIDS clause to <command>CREATE TABLE
!       AS</command> (Neil)
       </para>
      </listitem>

***************
*** 911,917 ****

      <listitem>
       <para>
!       Allow multiple ALTER actions in a single ALTER TABLE command (Rod)
       </para>
       <para>
        This is particularly useful for ALTER commands that rewrite the
--- 956,963 ----

      <listitem>
       <para>
!       Allow multiple ALTER actions in a single <command>ALTER
!       TABLE</command> command (Rod)
       </para>
       <para>
        This is particularly useful for ALTER commands that rewrite the
***************
*** 923,929 ****

      <listitem>
       <para>
!       Allow ALTER TABLE to add SERIAL columns (Tom)
       </para>
       <para>
        This is related to the new capability of adding defaults for new
--- 969,976 ----

      <listitem>
       <para>
!       Allow <command>ALTER TABLE</command> to add <type>serial</type>
!       columns (Tom)
       </para>
       <para>
        This is related to the new capability of adding defaults for new
***************
*** 996,1008 ****

      <listitem>
       <para>
!       Allow CREATE SCHEMA to create triggers, indexes, and sequences (Neil)
       </para>
      </listitem>

      <listitem>
       <para>
!       Add ALSO keyword to CREATE RULE (Fabien Coelho)
       </para>
       <para>
        This allows ALSO to be added to rule creation to contrast it with
--- 1043,1057 ----

      <listitem>
       <para>
!       Allow <command>CREATE SCHEMA</command> to create triggers,
!       indexes, and sequences (Neil)
       </para>
      </listitem>

      <listitem>
       <para>
!       Add ALSO keyword to <command>CREATE RULE</command> (Fabien
!       Coelho)
       </para>
       <para>
        This allows ALSO to be added to rule creation to contrast it with
***************
*** 1012,1034 ****

      <listitem>
       <para>
!       Add NOWAIT option to LOCK command (Tatsuo)
       </para>
       <para>
!       This allows the LOCK command to fail if it would have to wait for
!       the requested lock.
       </para>
      </listitem>

      <listitem>
       <para>
!       Allow COPY to read and write comma-separated-value (CSV) files (Andrew, Bruce)
       </para>
      </listitem>

      <listitem>
       <para>
!       Generate error if the COPY delimiter and NULL string conflict (Bruce)
       </para>
      </listitem>

--- 1061,1085 ----

      <listitem>
       <para>
!       Add NOWAIT option to <command>LOCK</command> (Tatsuo)
       </para>
       <para>
!       This allows the <command>LOCK</command> command to fail if it
!       would have to wait for the requested lock.
       </para>
      </listitem>

      <listitem>
       <para>
!       Allow <command>COPY</command> to read and write
!       comma-separated-value (CSV) files (Andrew, Bruce)
       </para>
      </listitem>

      <listitem>
       <para>
!       Generate error if the <command>COPY</command> delimiter and NULL
!       string conflict (Bruce)
       </para>
      </listitem>

***************
*** 1040,1046 ****

      <listitem>
       <para>
!       Avoid locking conflict between CREATE INDEX and CHECKPOINT (Tom)
       </para>
       <para>
        In 7.3 and 7.4, a long-running btree index build could block concurrent
--- 1091,1098 ----

      <listitem>
       <para>
!       Avoid locking conflict between <command>CREATE INDEX</command>
!       and <command>CHECKPOINT</command> (Tom)
       </para>
       <para>
        In 7.3 and 7.4, a long-running btree index build could block concurrent
***************
*** 1051,1064 ****

      <listitem>
       <para>
!       Database-wide ANALYZE does not hold locks across tables (Tom)
       </para>
       <para>
!       This reduces the potential for deadlocks against other backends that
!       want exclusive locks on tables.  To get the benefit of this change,
!       do not execute database-wide ANALYZE inside a transaction block
!       (BEGIN block); it must be able to commit and start a new transaction
!       for each table.
       </para>
      </listitem>

--- 1103,1118 ----

      <listitem>
       <para>
!       Database-wide <command>ANALYZE</command> does not hold locks
!       across tables (Tom)
       </para>
       <para>
!       This reduces the potential for deadlocks against other backends
!       that want exclusive locks on tables.  To get the benefit of this
!       change, do not execute database-wide <command>ANALYZE</command>
!       inside a transaction block (<command>BEGIN</command> block); it
!       must be able to commit and start a new transaction for each
!       table.
       </para>
      </listitem>

***************
*** 1067,1077 ****
        Erase MD5 user passwords when a user is renamed (Bruce)
       </para>
       <para>
!       PostgreSQL uses the user name as salt when encrypting passwords
!       via MD5. When a user name is changed, their salt no longer matches
!       the stored MD5 password, so the stored password becomes useless.
!       In this release a notice is generated and the password
!       is cleared.  A new password must then be assigned.
       </para>
      </listitem>

--- 1121,1132 ----
        Erase MD5 user passwords when a user is renamed (Bruce)
       </para>
       <para>
!       <productname>PostgreSQL</productname> uses the user name as salt
!       when encrypting passwords via MD5. When a user name is changed,
!       their salt no longer matches the stored MD5 password, so the
!       stored password becomes useless.  In this release a notice is
!       generated and the password is cleared.  A new password must then
!       be assigned.
       </para>
      </listitem>

***************
*** 1127,1133 ****
        Reject non-rectangular array literals as erroneous (Joe)
       </para>
       <para>
!       Formerly, array_in would silently build a surprising result.
       </para>
      </listitem>

--- 1182,1189 ----
        Reject non-rectangular array literals as erroneous (Joe)
       </para>
       <para>
!       Formerly, <literal>array_in</literal> would silently build a
!       surprising result.
       </para>
      </listitem>

***************
*** 1174,1184 ****

      <listitem>
       <para>
!       Change factorial function to return NUMERIC (Gavin)
       </para>
       <para>
!       Returning NUMERIC allows the factorial function to work for a wider
!       range of input values.
       </para>
      </listitem>

--- 1230,1240 ----

      <listitem>
       <para>
!       Change factorial function to return <type>numeric</type> (Gavin)
       </para>
       <para>
!       Returning <type>numeric</type> allows the factorial function to
!       work for a wider range of input values.
       </para>
      </listitem>

***************
*** 1217,1223 ****

      <listitem>
       <para>
!       Better support for IEEE Infinity and NaN values in float4, float8 (Neil)
       </para>
       <para>
        These should now work on all platforms that support IEEE-compliant
--- 1273,1280 ----

      <listitem>
       <para>
!       Better support for IEEE Infinity and NaN values in
!       <type>float4</type>, <type>float8</type> (Neil)
       </para>
       <para>
        These should now work on all platforms that support IEEE-compliant
***************
*** 1448,1454 ****

      <listitem>
       <para>
!       Make psql \copy match COPY command syntax fully (Tom)
       </para>
      </listitem>

--- 1505,1512 ----

      <listitem>
       <para>
!       Make psql \copy match <command>COPY</command> command syntax
!       fully (Tom)
       </para>
      </listitem>

***************
*** 1460,1466 ****

      <listitem>
       <para>
!       Add CLUSTER information to psql \d display (Bruce)
       </para>
      </listitem>

--- 1518,1525 ----

      <listitem>
       <para>
!       Add <command>CLUSTER</command> information to psql \d display
!       (Bruce)
       </para>
      </listitem>

***************
*** 1478,1484 ****

      <listitem>
       <para>
!       Add global psql config file, psqlrc.sample (Bruce)
       </para>
       <para>
        This allows a central file where global psql startup commands can
--- 1537,1544 ----

      <listitem>
       <para>
!       Add global psql config file, <filename>psqlrc.sample</filename>
!       (Bruce)
       </para>
       <para>
        This allows a central file where global psql startup commands can
***************
*** 1594,1601 ****

      <listitem>
       <para>
!       Allow PQoidValue(), PQcmdTuples(), and PQoidStatus() to work
!       on EXECUTE commands (Neil)
       </para>
      </listitem>

--- 1654,1661 ----

      <listitem>
       <para>
!       Allow PQoidValue(), PQcmdTuples(), and PQoidStatus() to work on
!       <command>EXECUTE</command> commands (Neil)
       </para>
      </listitem>

***************
*** 1665,1674 ****
        New "PostgreSQL" CVS tag (Marc)
       </para>
       <para>
!       This was done to make it easier for organizations to manage their own
!       copies of the PostgreSQL CVS repository.  File version stamps from the
!       master repository will not get munged by checking into or out of
!       a copied repository.
       </para>
      </listitem>

--- 1725,1735 ----
        New "PostgreSQL" CVS tag (Marc)
       </para>
       <para>
!       This was done to make it easier for organizations to manage
!       their own copies of the <productname>PostgreSQL</productname>
!       CVS repository.  File version stamps from the master repository
!       will not get munged by checking into or out of a copied
!       repository.
       </para>
      </listitem>

***************
*** 1880,1886 ****

      <listitem>
       <para>
!       New /contrib/trgm, trigram matching for PostgreSQL (Teodor)
       </para>
      </listitem>

--- 1941,1948 ----

      <listitem>
       <para>
!       New /contrib/trgm, trigram matching for
!       <productname>PostgreSQL</productname> (Teodor)
       </para>
      </listitem>

***************
*** 2037,2043 ****
  <para>
    This fixes a difficult-to-exploit security hole.
  </para></listitem>
! <listitem><para>Avoid locking conflict between ANALYZE and LISTEN/NOTIFY</para></listitem>
  <listitem><para>Numerous translation updates (various contributors)</para></listitem>
  </itemizedlist>

--- 2099,2105 ----
  <para>
    This fixes a difficult-to-exploit security hole.
  </para></listitem>
! <listitem><para>Avoid locking conflict between <command>ANALYZE</command> and
<command>LISTEN</command>/<command>NOTIFY</command></para></listitem>
  <listitem><para>Numerous translation updates (various contributors)</para></listitem>
  </itemizedlist>

Index: doc/src/sgml/runtime.sgml
===================================================================
RCS file: /Users/neilc/local/cvs/pgsql-server/doc/src/sgml/runtime.sgml,v
retrieving revision 1.278
diff -c -r1.278 runtime.sgml
*** doc/src/sgml/runtime.sgml    16 Aug 2004 02:12:29 -0000    1.278
--- doc/src/sgml/runtime.sgml    22 Aug 2004 05:26:00 -0000
***************
*** 1206,1222 ****
         <listitem>
          <para>
           Specifies the delay between activity rounds for the
!          background writer.  In each round the writer issues writes for some
!          number of dirty buffers (controllable by the following parameters).
!          The selected buffers will always be the
!          least recently used ones among the currently dirty buffers.
!          It then sleeps for <varname>bgwriter_delay</varname> milliseconds,
!          and repeats.
!          Note that on many systems, the effective resolution
!          of sleep delays is 10 milliseconds; setting
!          <varname>bgwriter_delay</varname> to a value that is
!          not a multiple of 10 may have the same results as setting it
!          to the next higher multiple of 10.
           This option can only be set at server start or in the
           <filename>postgresql.conf</filename> file.
          </para>
--- 1206,1221 ----
         <listitem>
          <para>
           Specifies the delay between activity rounds for the
!          background writer.  In each round the writer issues writes
!          for some number of dirty buffers (controllable by the
!          following parameters).  The selected buffers will always be
!          the least recently used ones among the currently dirty
!          buffers.  It then sleeps for <varname>bgwriter_delay</>
!          milliseconds, and repeats.  The default value is 200. Note
!          that on many systems, the effective resolution of sleep
!          delays is 10 milliseconds; setting <varname>bgwriter_delay</>
!          to a value that is not a multiple of 10 may have the same
!          results as setting it to the next higher multiple of 10.
           This option can only be set at server start or in the
           <filename>postgresql.conf</filename> file.
          </para>
***************
*** 1227,1236 ****
         <term><varname>bgwriter_percent</varname> (<type>integer</type>)</term>
         <listitem>
          <para>
!          In each round, no more than this percentage of the currently dirty
!          buffers will be written (rounding up any fraction to the next whole
!          number of buffers).
!          This option can only be set at server start or in the
           <filename>postgresql.conf</filename> file.
          </para>
         </listitem>
--- 1226,1235 ----
         <term><varname>bgwriter_percent</varname> (<type>integer</type>)</term>
         <listitem>
          <para>
!          In each round, no more than this percentage of the currently
!          dirty buffers will be written (rounding up any fraction to
!          the next whole number of buffers).  The default value is
!          1. This option can only be set at server start or in the
           <filename>postgresql.conf</filename> file.
          </para>
         </listitem>
***************
*** 1240,1247 ****
         <term><varname>bgwriter_maxpages</varname> (<type>integer</type>)</term>
         <listitem>
          <para>
!          In each round, no more than this many dirty buffers will be written.
!          This option can only be set at server start or in the
           <filename>postgresql.conf</filename> file.
          </para>
         </listitem>
--- 1239,1247 ----
         <term><varname>bgwriter_maxpages</varname> (<type>integer</type>)</term>
         <listitem>
          <para>
!          In each round, no more than this many dirty buffers will be
!          written. The default value is 100. This option can only be
!          set at server start or in the
           <filename>postgresql.conf</filename> file.
          </para>
         </listitem>
***************
*** 1250,1258 ****

       <para>
        Smaller values of <varname>bgwriter_percent</varname> and
!       <varname>bgwriter_maxpages</varname> reduce the extra I/O load caused by
!       the background writer, but leave more work to be done at checkpoint
!       time.  To reduce load spikes at checkpoints, increase the values.
       </para>
      </sect3>

--- 1250,1259 ----

       <para>
        Smaller values of <varname>bgwriter_percent</varname> and
!       <varname>bgwriter_maxpages</varname> reduce the extra I/O load
!       caused by the background writer, but leave more work to be done
!       at checkpoint time.  To reduce load spikes at checkpoints,
!       increase the values.
       </para>
      </sect3>

***************
*** 1448,1454 ****
         </para>
         <para>
          It is important for the command to return a zero exit status only if
!     it succeeds.  Examples:
  <programlisting>
  archive_command = 'cp "%p" /mnt/server/archivedir/"%f"'
  archive_command = 'copy "%p" /mnt/server/archivedir/"%f"'  # Win32
--- 1449,1455 ----
         </para>
         <para>
          It is important for the command to return a zero exit status only if
!         it succeeds.  Examples:
  <programlisting>
  archive_command = 'cp "%p" /mnt/server/archivedir/"%f"'
  archive_command = 'copy "%p" /mnt/server/archivedir/"%f"'  # Win32
***************
*** 1880,1893 ****
        <term><varname>log_destination</varname> (<type>string</type>)</term>
        <listitem>
         <para>
!     <productname>PostgreSQL</productname> supports several methods
!      for logging server messages, including
!      <systemitem>stderr</systemitem> and
!      <systemitem>syslog</systemitem>. On Windows,
!      <systemitem>eventlog</systemitem> is also supported. Set this
!      option to a list of desired log destinations separated by
!      commas. The default is to log to <systemitem>stderr</systemitem>
!      only.
           This option can only be set at server start or in the
           <filename>postgresql.conf</filename> configuration file.
         </para>
--- 1881,1894 ----
        <term><varname>log_destination</varname> (<type>string</type>)</term>
        <listitem>
         <para>
!         <productname>PostgreSQL</productname> supports several methods
!          for logging server messages, including
!          <systemitem>stderr</systemitem> and
!          <systemitem>syslog</systemitem>. On Windows,
!          <systemitem>eventlog</systemitem> is also supported. Set this
!          option to a list of desired log destinations separated by
!          commas. The default is to log to <systemitem>stderr</systemitem>
!          only.
           This option can only be set at server start or in the
           <filename>postgresql.conf</filename> configuration file.
         </para>
***************
*** 1898,1911 ****
        <term><varname>redirect_stderr</varname> (<type>boolean</type>)</term>
         <listitem>
          <para>
!       This option allows messages sent to <application>stderr</> to be
!       captured and redirected into log files.
!       This option, in combination with logging to <application>stderr</>,
!       is often more useful than
!       logging to <application>syslog</>, since some types of messages
!       may not appear in <application>syslog</> output (a common example
!       is dynamic-linker failure messages).
!       This option can only be set at server start.
          </para>
         </listitem>
       </varlistentry>
--- 1899,1912 ----
        <term><varname>redirect_stderr</varname> (<type>boolean</type>)</term>
         <listitem>
          <para>
!           This option allows messages sent to <application>stderr</> to be
!           captured and redirected into log files.
!           This option, in combination with logging to <application>stderr</>,
!           is often more useful than
!           logging to <application>syslog</>, since some types of messages
!           may not appear in <application>syslog</> output (a common example
!           is dynamic-linker failure messages).
!           This option can only be set at server start.
          </para>
         </listitem>
       </varlistentry>
***************
*** 1914,1923 ****
        <term><varname>log_directory</varname> (<type>string</type>)</term>
         <listitem>
          <para>
!       When <varname>redirect_stderr</> is enabled, this option
            determines the directory in which log files will be created.
!       It may be specified as an absolute path, or relative to the
!       cluster data directory.
           This option can only be set at server start or in the
           <filename>postgresql.conf</filename> configuration file.
          </para>
--- 1915,1924 ----
        <term><varname>log_directory</varname> (<type>string</type>)</term>
         <listitem>
          <para>
!           When <varname>redirect_stderr</> is enabled, this option
            determines the directory in which log files will be created.
!           It may be specified as an absolute path, or relative to the
!           cluster data directory.
           This option can only be set at server start or in the
           <filename>postgresql.conf</filename> configuration file.
          </para>
***************
*** 1928,1937 ****
        <term><varname>log_filename_prefix</varname> (<type>string</type>)</term>
         <listitem>
          <para>
!       When <varname>redirect_stderr</> is enabled, this option
            sets the prefix of the file names of the created log files.
!       The postmaster PID and the current time are appended to this
!       prefix to form an exact log file name.
           This option can only be set at server start or in the
           <filename>postgresql.conf</filename> configuration file.
          </para>
--- 1929,1938 ----
        <term><varname>log_filename_prefix</varname> (<type>string</type>)</term>
         <listitem>
          <para>
!           When <varname>redirect_stderr</> is enabled, this option
            sets the prefix of the file names of the created log files.
!           The postmaster PID and the current time are appended to this
!           prefix to form an exact log file name.
           This option can only be set at server start or in the
           <filename>postgresql.conf</filename> configuration file.
          </para>
***************
*** 1942,1952 ****
        <term><varname>log_rotation_age</varname> (<type>integer</type>)</term>
         <listitem>
          <para>
!       When <varname>redirect_stderr</> is enabled, this option
!       determines the maximum lifetime of an individual log file.
!       After this many minutes have elapsed, a new log file will
!       be created.  Set to zero to disable time-based creation of
!       new log files.
           This option can only be set at server start or in the
           <filename>postgresql.conf</filename> configuration file.
          </para>
--- 1943,1953 ----
        <term><varname>log_rotation_age</varname> (<type>integer</type>)</term>
         <listitem>
          <para>
!           When <varname>redirect_stderr</> is enabled, this option
!           determines the maximum lifetime of an individual log file.
!           After this many minutes have elapsed, a new log file will
!           be created.  Set to zero to disable time-based creation of
!           new log files.
           This option can only be set at server start or in the
           <filename>postgresql.conf</filename> configuration file.
          </para>
***************
*** 1957,1967 ****
        <term><varname>log_rotation_size</varname> (<type>integer</type>)</term>
         <listitem>
          <para>
!       When <varname>redirect_stderr</> is enabled, this option
!       determines the maximum size of an individual log file.
!       After this many kilobytes have been emitted into a log file,
!       a new log file will be created.  Set to zero to disable size-based
!       creation of new log files.
           This option can only be set at server start or in the
           <filename>postgresql.conf</filename> configuration file.
          </para>
--- 1958,1968 ----
        <term><varname>log_rotation_size</varname> (<type>integer</type>)</term>
         <listitem>
          <para>
!           When <varname>redirect_stderr</> is enabled, this option
!           determines the maximum size of an individual log file.
!           After this many kilobytes have been emitted into a log file,
!           a new log file will be created.  Set to zero to disable size-based
!           creation of new log files.
           This option can only be set at server start or in the
           <filename>postgresql.conf</filename> configuration file.
          </para>
***************
*** 1981,1987 ****
            the default is <literal>LOCAL0</>. See also the
            documentation of your system's
            <application>syslog</application> daemon.
!       This option can only be set at server start.
          </para>
         </listitem>
       </varlistentry>
--- 1982,1988 ----
            the default is <literal>LOCAL0</>. See also the
            documentation of your system's
            <application>syslog</application> daemon.
!           This option can only be set at server start.
          </para>
         </listitem>
       </varlistentry>
***************
*** 1995,2001 ****
           <productname>PostgreSQL</productname> messages in
           <application>syslog</application> logs. The default is
           <literal>postgres</literal>.
!       This option can only be set at server start.
          </para>
         </listitem>
        </varlistentry>
--- 1996,2002 ----
           <productname>PostgreSQL</productname> messages in
           <application>syslog</application> logs. The default is
           <literal>postgres</literal>.
!           This option can only be set at server start.
          </para>
         </listitem>
        </varlistentry>
***************
*** 2107,2115 ****
          terminals are disassociated (same effect as
          <command>postmaster</>'s <option>-S</option> option).
          The server's standard output and standard error are redirected
!     to <literal>/dev/null</>, so any messages sent to them will be lost.
!     Unless <application>syslog</> logging is selected or
!     <varname>redirect_stderr</> is enabled, using this option
          is discouraged because it makes it impossible to see error messages.
         </para>
        </listitem>
--- 2108,2116 ----
          terminals are disassociated (same effect as
          <command>postmaster</>'s <option>-S</option> option).
          The server's standard output and standard error are redirected
!         to <literal>/dev/null</>, so any messages sent to them will be lost.
!         Unless <application>syslog</> logging is selected or
!         <varname>redirect_stderr</> is enabled, using this option
          is discouraged because it makes it impossible to see error messages.
         </para>
        </listitem>
***************
*** 2271,2365 ****
        <term><varname>log_line_prefix</varname> (<type>string</type>)</term>
        <listitem>
         <para>
!      This is a <function>printf</>-style string that is output at the
!      beginning of each log line. The default is an empty string.
!      Each recognized escape is replaced as outlined
!      below - anything else that looks like an escape is ignored. Other
!      characters are copied straight to the log line. Some escapes are
!      only recognised by session processes, and do not apply to
!      background processes such as the postmaster. <application>Syslog</>
           produces its own
!      timestamp and process ID information, so you probably do not want to
!      use those escapes if you are using <application>syslog</>.
!      This option can only be set at server start or in the
           <filename>postgresql.conf</filename> configuration file.

!      <informaltable>
!       <tgroup cols="3">
!        <thead>
!         <row>
!          <entry>Escape</entry>
!          <entry>Effect</entry>
!          <entry>Session only</entry>
!          </row>
!         </thead>
!        <tbody>
!         <row>
!          <entry><literal>%u</literal></entry>
!          <entry>User Name</entry>
!          <entry>Yes</entry>
!         </row>
!         <row>
!          <entry><literal>%d</literal></entry>
!          <entry>Database Name</entry>
!          <entry>Yes</entry>
!         </row>
!         <row>
!          <entry><literal>%r</literal></entry>
!          <entry>Remote Hostname or IP address, and Remote Port</entry>
!          <entry>Yes</entry>
!         </row>
!         <row>
!          <entry><literal>%p</literal></entry>
!          <entry>Process ID</entry>
!          <entry>No</entry>
!         </row>
!         <row>
!          <entry><literal>%t</literal></entry>
!          <entry>Timestamp</entry>
!          <entry>No</entry>
!         </row>
!         <row>
!          <entry><literal>%i</literal></entry>
!          <entry>Command Tag. This is the command which generated the log
!           line.</entry>
!          <entry>Yes</entry>
!         </row>
!         <row>
!          <entry><literal>%c</literal></entry>
!          <entry>Session ID. A unique identifier for each session.
!          It is 2 4-byte hexadecimal numbers (without leading zeros)
               separated by a dot. The numbers
!          are the Session Start Time and the Process ID, so this can also
!          be used as a space saving way of printing these items.</entry>
!          <entry>Yes</entry>
!         </row>
!         <row>
!          <entry><literal>%l</literal></entry>
!          <entry>Number of the log line for each process,
!           starting at 1</entry>
!          <entry>No</entry>
!         </row>
!         <row>
!          <entry><literal>%s</literal></entry>
!          <entry>Session Start Timestamp</entry>
!          <entry>Yes</entry>
!         </row>
!         <row>
!          <entry><literal>%x</literal></entry>
!          <entry>Does not produce any output, but tells non-session
!          processes to stop at this point in the string. Ignored by
!          session processes.</entry>
!          <entry>No</entry>
!         </row>
!         <row>
!          <entry><literal>%%</literal></entry>
!          <entry>Literal <literal>%</></entry>
!          <entry>No</entry>
!         </row>
!        </tbody>
!       </tgroup>
!      </informaltable>
         </para>
        </listitem>
       </varlistentry>
--- 2272,2366 ----
        <term><varname>log_line_prefix</varname> (<type>string</type>)</term>
        <listitem>
         <para>
!          This is a <function>printf</>-style string that is output at the
!          beginning of each log line. The default is an empty string.
!          Each recognized escape is replaced as outlined
!          below - anything else that looks like an escape is ignored. Other
!          characters are copied straight to the log line. Some escapes are
!          only recognised by session processes, and do not apply to
!          background processes such as the postmaster. <application>Syslog</>
           produces its own
!          timestamp and process ID information, so you probably do not want to
!          use those escapes if you are using <application>syslog</>.
!          This option can only be set at server start or in the
           <filename>postgresql.conf</filename> configuration file.

!          <informaltable>
!           <tgroup cols="3">
!            <thead>
!             <row>
!              <entry>Escape</entry>
!              <entry>Effect</entry>
!              <entry>Session only</entry>
!              </row>
!             </thead>
!            <tbody>
!             <row>
!              <entry><literal>%u</literal></entry>
!              <entry>User Name</entry>
!              <entry>Yes</entry>
!             </row>
!             <row>
!              <entry><literal>%d</literal></entry>
!              <entry>Database Name</entry>
!              <entry>Yes</entry>
!             </row>
!             <row>
!              <entry><literal>%r</literal></entry>
!              <entry>Remote Hostname or IP address, and Remote Port</entry>
!              <entry>Yes</entry>
!             </row>
!             <row>
!              <entry><literal>%p</literal></entry>
!              <entry>Process ID</entry>
!              <entry>No</entry>
!             </row>
!             <row>
!              <entry><literal>%t</literal></entry>
!              <entry>Timestamp</entry>
!              <entry>No</entry>
!             </row>
!             <row>
!              <entry><literal>%i</literal></entry>
!              <entry>Command Tag. This is the command which generated the log
!               line.</entry>
!              <entry>Yes</entry>
!             </row>
!             <row>
!              <entry><literal>%c</literal></entry>
!              <entry>Session ID. A unique identifier for each session.
!              It is 2 4-byte hexadecimal numbers (without leading zeros)
               separated by a dot. The numbers
!              are the Session Start Time and the Process ID, so this can also
!              be used as a space saving way of printing these items.</entry>
!              <entry>Yes</entry>
!             </row>
!             <row>
!              <entry><literal>%l</literal></entry>
!              <entry>Number of the log line for each process,
!               starting at 1</entry>
!              <entry>No</entry>
!             </row>
!             <row>
!              <entry><literal>%s</literal></entry>
!              <entry>Session Start Timestamp</entry>
!              <entry>Yes</entry>
!             </row>
!             <row>
!              <entry><literal>%x</literal></entry>
!              <entry>Does not produce any output, but tells non-session
!              processes to stop at this point in the string. Ignored by
!              session processes.</entry>
!              <entry>No</entry>
!             </row>
!             <row>
!              <entry><literal>%%</literal></entry>
!              <entry>Literal <literal>%</></entry>
!              <entry>No</entry>
!             </row>
!            </tbody>
!           </tgroup>
!          </informaltable>
         </para>
        </listitem>
       </varlistentry>
***************
*** 2861,2867 ****
         <para>
          The value for <varname>dynamic_library_path</varname> has to be a
          list of absolute directory paths separated by colons (or semi-colons
!     on Windows).  If a list element starts
          with the special string <literal>$libdir</literal>, the
          compiled-in <productname>PostgreSQL</productname> package
          library directory is substituted for <literal>$libdir</literal>. This
--- 2862,2868 ----
         <para>
          The value for <varname>dynamic_library_path</varname> has to be a
          list of absolute directory paths separated by colons (or semi-colons
!         on Windows).  If a list element starts
          with the special string <literal>$libdir</literal>, the
          compiled-in <productname>PostgreSQL</productname> package
          library directory is substituted for <literal>$libdir</literal>. This
***************
*** 3138,3145 ****
        <listitem>
         <para>
          Shows the locale in which sorting of textual data is done.
!     See <xref linkend="locale"> for more information.
!     The value is determined when the database cluster is initialized.
         </para>
        </listitem>
       </varlistentry>
--- 3139,3146 ----
        <listitem>
         <para>
          Shows the locale in which sorting of textual data is done.
!         See <xref linkend="locale"> for more information.
!         The value is determined when the database cluster is initialized.
         </para>
        </listitem>
       </varlistentry>
***************
*** 3149,3158 ****
        <listitem>
         <para>
          Shows the locale that determines character classifications.
!     See <xref linkend="locale"> for more information.
!     The value is determined when the database cluster is initialized.
!     Ordinarily this will be the same as <varname>lc_collate</varname>,
!     but for special applications it might be set differently.
         </para>
        </listitem>
       </varlistentry>
--- 3150,3159 ----
        <listitem>
         <para>
          Shows the locale that determines character classifications.
!         See <xref linkend="locale"> for more information.
!         The value is determined when the database cluster is initialized.
!         Ordinarily this will be the same as <varname>lc_collate</varname>,
!         but for special applications it might be set differently.
         </para>
        </listitem>
       </varlistentry>
***************
*** 3240,3246 ****
          variable is a variable not normally known
          to <productname>PostgreSQL</productname> proper but used by some
          add-on module.  Such variables must have names consisting of a class
!     name, a dot, and a variable name.  <varname>custom_variable_classes</>
          specifies all the class names in use in a particular installation.
          This option can only be set at server start or in the
          <filename>postgresql.conf</filename> configuration file.
--- 3241,3247 ----
          variable is a variable not normally known
          to <productname>PostgreSQL</productname> proper but used by some
          add-on module.  Such variables must have names consisting of a class
!         name, a dot, and a variable name.  <varname>custom_variable_classes</>
          specifies all the class names in use in a particular installation.
          This option can only be set at server start or in the
          <filename>postgresql.conf</filename> configuration file.
Index: doc/src/sgml/xfunc.sgml
===================================================================
RCS file: /Users/neilc/local/cvs/pgsql-server/doc/src/sgml/xfunc.sgml,v
retrieving revision 1.85
diff -c -r1.85 xfunc.sgml
*** doc/src/sgml/xfunc.sgml    30 Jul 2004 12:26:39 -0000    1.85
--- doc/src/sgml/xfunc.sgml    21 Aug 2004 12:51:52 -0000
***************
*** 1618,1634 ****
     </indexterm>

     <para>
!     If you are thinking about distributing your PostgreSQL extension
!     modules, setting up a portable build system for them can be fairly
!     difficult.  Therefore the PostgreSQL installation provides a build
      infrastructure for extensions, called <acronym>PGXS</acronym>, so
      that simple extension modules can be built simply against an
      already installed server.  Note that this infrastructure is not
      intended to be a universal build system framework that can be used
!     to build all software interfacing to PostgreSQL; it simply
!     automates common build rules for simple server extension modules.
!     For more complicated packages, you need to write your own build
!     system.
     </para>

     <para>
--- 1618,1635 ----
     </indexterm>

     <para>
!     If you are thinking about distributing your
!     <productname>PostgreSQL</> extension modules, setting up a
!     portable build system for them can be fairly difficult.  Therefore
!     the <productname>PostgreSQL</> installation provides a build
      infrastructure for extensions, called <acronym>PGXS</acronym>, so
      that simple extension modules can be built simply against an
      already installed server.  Note that this infrastructure is not
      intended to be a universal build system framework that can be used
!     to build all software interfacing to <productname>PostgreSQL</>;
!     it simply automates common build rules for simple server extension
!     modules.  For more complicated packages, you need to write your
!     own build system.
     </para>

     <para>
***************
*** 1807,1820 ****
      <title>Composite-Type Arguments in C-Language Functions</title>

      <para>
!      Composite types do not  have  a  fixed  layout  like  C
!      structures.   Instances of a composite type may contain
!      null fields.  In addition,  composite  types  that  are
!      part  of  an  inheritance  hierarchy may have different
!      fields than other members of the same inheritance hierarchy.
!      Therefore,  <productname>PostgreSQL</productname>  provides
!      a function interface for accessing fields of composite types
!      from C.
      </para>

      <para>
--- 1808,1820 ----
      <title>Composite-Type Arguments in C-Language Functions</title>

      <para>
!      Composite types do not have a fixed layout like C structures.
!      Instances of a composite type may contain null fields.  In
!      addition, composite types that are part of an inheritance
!      hierarchy may have different fields than other members of the
!      same inheritance hierarchy.  Therefore,
!      <productname>PostgreSQL</productname> provides a function
!      interface for accessing fields of composite types from C.
      </para>

      <para>
Index: doc/src/sgml/ref/alter_index.sgml
===================================================================
RCS file: /Users/neilc/local/cvs/pgsql-server/doc/src/sgml/ref/alter_index.sgml,v
retrieving revision 1.3
diff -c -r1.3 alter_index.sgml
*** doc/src/sgml/ref/alter_index.sgml    21 Aug 2004 16:16:04 -0000    1.3
--- doc/src/sgml/ref/alter_index.sgml    22 Aug 2004 21:13:23 -0000
***************
*** 167,173 ****
    <title>Compatibility</title>

    <para>
!     <literal>ALTER INDEX</> is a PostgreSQL extension.
    </para>
   </refsect1>
  </refentry>
--- 167,174 ----
    <title>Compatibility</title>

    <para>
!    <command>ALTER INDEX</> is a <productname>PostgreSQL</productname>
!    extension.
    </para>
   </refsect1>
  </refentry>
Index: doc/src/sgml/ref/alter_sequence.sgml
===================================================================
RCS file: /Users/neilc/local/cvs/pgsql-server/doc/src/sgml/ref/alter_sequence.sgml,v
retrieving revision 1.7
diff -c -r1.7 alter_sequence.sgml
*** doc/src/sgml/ref/alter_sequence.sgml    29 Nov 2003 19:51:38 -0000    1.7
--- doc/src/sgml/ref/alter_sequence.sgml    21 Aug 2004 20:54:48 -0000
***************
*** 14,20 ****
     ALTER SEQUENCE
    </refname>
    <refpurpose>
!    alter the definition of a sequence generator
    </refpurpose>
   </refnamediv>

--- 14,20 ----
     ALTER SEQUENCE
    </refname>
    <refpurpose>
!    change the definition of a sequence generator
    </refpurpose>
   </refnamediv>

Index: doc/src/sgml/ref/create_table_as.sgml
===================================================================
RCS file: /Users/neilc/local/cvs/pgsql-server/doc/src/sgml/ref/create_table_as.sgml,v
retrieving revision 1.22
diff -c -r1.22 create_table_as.sgml
*** doc/src/sgml/ref/create_table_as.sgml    4 Aug 2004 21:33:42 -0000    1.22
--- doc/src/sgml/ref/create_table_as.sgml    21 Aug 2004 20:55:17 -0000
***************
*** 11,17 ****

   <refnamediv>
    <refname>CREATE TABLE AS</refname>
!   <refpurpose>create a new table from the results of a query</refpurpose>
   </refnamediv>

   <indexterm zone="sql-createtableas">
--- 11,17 ----

   <refnamediv>
    <refname>CREATE TABLE AS</refname>
!   <refpurpose>define a new table from the results of a query</refpurpose>
   </refnamediv>

   <indexterm zone="sql-createtableas">
Index: doc/src/sgml/ref/create_tablespace.sgml
===================================================================
RCS file: /Users/neilc/local/cvs/pgsql-server/doc/src/sgml/ref/create_tablespace.sgml,v
retrieving revision 1.3
diff -c -r1.3 create_tablespace.sgml
*** doc/src/sgml/ref/create_tablespace.sgml    2 Aug 2004 04:25:37 -0000    1.3
--- doc/src/sgml/ref/create_tablespace.sgml    21 Aug 2004 19:57:35 -0000
***************
*** 34,41 ****
    </para>

    <para>
!    A tablespace allows superusers to define an alternative location on the
!    file system where the data files representing database objects
     (such as tables and indexes) may reside.
    </para>

--- 34,41 ----
    </para>

    <para>
!    A tablespace allows superusers to define an alternative location on
!    the file system where the data files containing database objects
     (such as tables and indexes) may reside.
    </para>

Index: doc/src/sgml/ref/psql-ref.sgml
===================================================================
RCS file: /Users/neilc/local/cvs/pgsql-server/doc/src/sgml/ref/psql-ref.sgml,v
retrieving revision 1.120
diff -c -r1.120 psql-ref.sgml
*** doc/src/sgml/ref/psql-ref.sgml    14 Aug 2004 23:49:07 -0000    1.120
--- doc/src/sgml/ref/psql-ref.sgml    21 Aug 2004 12:43:46 -0000
***************
*** 771,777 ****
          <listitem>
          <para>
          Shows the copyright and distribution terms of
!         <application>PostgreSQL</application>.
          </para>
          </listitem>
        </varlistentry>
--- 771,777 ----
          <listitem>
          <para>
          Shows the copyright and distribution terms of
!         <productname>PostgreSQL</productname>.
          </para>
          </listitem>
        </varlistentry>
Index: doc/src/sgml/ref/release_savepoint.sgml
===================================================================
RCS file: /Users/neilc/local/cvs/pgsql-server/doc/src/sgml/ref/release_savepoint.sgml,v
retrieving revision 1.1
diff -c -r1.1 release_savepoint.sgml
*** doc/src/sgml/ref/release_savepoint.sgml    12 Aug 2004 19:12:21 -0000    1.1
--- doc/src/sgml/ref/release_savepoint.sgml    21 Aug 2004 20:08:03 -0000
***************
*** 77,83 ****

    <para>
     It is not possible to release a savepoint when the transaction is in
!    aborted state.
    </para>

    <para>
--- 77,83 ----

    <para>
     It is not possible to release a savepoint when the transaction is in
!    an aborted state.
    </para>

    <para>
***************
*** 108,116 ****
    <title>Compatibility</title>

    <para>
!    The SQL2003 standard specifies that the keyword SAVEPOINT is mandatory.
!    <productname>PostgreSQL</productname> allows the SAVEPOINT keyword to be
!    omitted. Otherwise, this command is fully conforming.
    </para>
   </refsect1>

--- 108,118 ----
    <title>Compatibility</title>

    <para>
!    The SQL2003 standard specifies that the keyword
!    <literal>SAVEPOINT</literal> is mandatory.
!    <productname>PostgreSQL</productname> allows the
!    <literal>SAVEPOINT</literal> keyword to be omitted. Otherwise, this
!    command is fully conforming.
    </para>
   </refsect1>

Index: doc/src/sgml/ref/rollback_to.sgml
===================================================================
RCS file: /Users/neilc/local/cvs/pgsql-server/doc/src/sgml/ref/rollback_to.sgml,v
retrieving revision 1.2
diff -c -r1.2 rollback_to.sgml
*** doc/src/sgml/ref/rollback_to.sgml    12 Aug 2004 19:12:21 -0000    1.2
--- doc/src/sgml/ref/rollback_to.sgml    21 Aug 2004 20:54:02 -0000
***************
*** 128,140 ****
    <title>Compatibility</title>

    <para>
!    The SQL2003 standard specifies that the keyword SAVEPOINT is mandatory.
!    <productname>PostgreSQL</productname> and <productname>Oracle</productname>
!    allow the SAVEPOINT keyword to be omitted.  SQL2003 allows only
!    WORK, not TRANSACTION, as a noise word after ROLLBACK.  Also, SQL2003
!    has an optional clause AND [ NO ] CHAIN which is not currently supported
!    by <productname>PostgreSQL</productname>.  Otherwise, this command is
!    fully conforming.
    </para>
   </refsect1>

--- 128,142 ----
    <title>Compatibility</title>

    <para>
!    The SQL2003 standard specifies that the keyword
!    <literal>SAVEPOINT</> is mandatory.  <productname>PostgreSQL</> and
!    <productname>Oracle</> allow the <literal>SAVEPOINT</literal>
!    keyword to be omitted.  SQL2003 allows only <literal>WORK</>, not
!    <literal>TRANSACTION</>, as a noise word after
!    <literal>ROLLBACK</>.  Also, SQL2003 has an optional clause
!    <literal>AND [ NO ] CHAIN</> which is not currently supported by
!    <productname>PostgreSQL</>.  Otherwise, this command is fully
!    conforming.
    </para>
   </refsect1>

Index: doc/src/sgml/ref/select_into.sgml
===================================================================
RCS file: /Users/neilc/local/cvs/pgsql-server/doc/src/sgml/ref/select_into.sgml,v
retrieving revision 1.29
diff -c -r1.29 select_into.sgml
*** doc/src/sgml/ref/select_into.sgml    4 Aug 2004 21:33:42 -0000    1.29
--- doc/src/sgml/ref/select_into.sgml    21 Aug 2004 20:56:36 -0000
***************
*** 11,17 ****

   <refnamediv>
    <refname>SELECT INTO</refname>
!   <refpurpose>create a new table from the results of a query</refpurpose>
   </refnamediv>

   <indexterm zone="sql-selectinto">
--- 11,17 ----

   <refnamediv>
    <refname>SELECT INTO</refname>
!   <refpurpose>define a new table from the results of a query</refpurpose>
   </refnamediv>

   <indexterm zone="sql-selectinto">

pgsql-patches by date:

Previous
From: phoemix@harmless.hu (Czuczy Gergely)
Date:
Subject: Re: added pkg-config script
Next
From: Neil Conway
Date:
Subject: Re: SGML cleanup