Index: features.sgml
===================================================================
RCS file: /projects/cvsroot/pgsql/doc/src/sgml/features.sgml,v
retrieving revision 2.22
diff -d -c -r2.22 features.sgml
*** features.sgml	29 Nov 2003 19:51:37 -0000	2.22
--- features.sgml	21 Nov 2004 23:35:35 -0000
***************
*** 7,31 ****
  
   <para>
    This section attempts to outline to what extent
!   <productname>PostgreSQL</productname> conforms to the SQL standard.
!   Full compliance to the standard or a complete statement about the
!   compliance to the standard is complicated and not particularly
!   useful, so this section can only give an overview.
    </para>
  
   <para>
    The formal name of the SQL standard is ISO/IEC 9075 <quote>Database
!   Language SQL</quote>.  A revised version of the standard is released
!   from time to time; the most recent one appearing in 1999.  That
!   version is referred to as ISO/IEC 9075:1999, or informally as SQL99.
!   The version prior to that was SQL92.
!   <productname>PostgreSQL</productname> development tends to aim for
    conformance with the latest official version of the standard where
    such conformance does not contradict traditional features or common
!   sense.  At the time of this writing, balloting is under way for a
!   new revision of the standard, which, if approved, will eventually
!   become the conformance target for future
!   <productname>PostgreSQL</productname> development.
   </para>
  
   <para>
--- 7,40 ----
  
   <para>
    This section attempts to outline to what extent
!   <productname>PostgreSQL</productname> conforms to the current international 
!   SQL standard. Overall, PostgreSQL Global Development Group 
!   (<acronym>PGDG</acronym>) supports open standards, particularly the SQL 
!   standard. In general, PostgreSQL has the majority of features that many
!   would recognise as being required for Core SQL conformance, though there are
!   a number of smaller differences. The following information is not a full 
!   statement of conformance, though presents the main topics in as much detail 
!   as is both reasonable and useful for developers.
    </para>
  
   <para>
    The formal name of the SQL standard is ISO/IEC 9075 <quote>Database
!   Language SQL</quote>, jointly published by ISO and ANSI. A revised version of 
!   the standard is released from time to time; the most recent one appearing in 
!   late 2003. That version is referred to as ISO/IEC 9075:2003, or informally 
!   as SQL2003. It is also often popularly referred to as ANSI SQL.
!   The versions prior to that were SQL99, and before that SQL92. Each version 
!   replaces the previous one, so claims of conformance to earlier versions have
!   no official merit. No current version of any database management system 
!   currently claims full conformance to Core SQL2003, at time of writing.
!   <productname>PostgreSQL</productname> development aims for
    conformance with the latest official version of the standard where
    such conformance does not contradict traditional features or common
!   sense. <acronym>PGDG</acronym> were not represented on the ISO/IEC 9075
!   Working Group during the preparation of SQL2003. Even so, many of the 
!   features required by SQL2003 are already supported, though sometimes with
!   slightly differing syntax or function. Further moves towards conformance 
!   may be expected in later releases.
   </para>
  
   <para>
***************
*** 38,74 ****
   </para>
  
   <para>
!   <acronym>SQL99</acronym> defines a large set of individual features
!   rather than the ineffectively broad three levels found in
!   <acronym>SQL92</acronym>.  A large subset of these features
!   represents the <quote>core</quote> features, which every conforming
    SQL implementation must supply.  The rest of the features are purely
    optional.  Some optional features are grouped together to form
!   <quote>packages</quote>, which SQL implementations can claim
    conformance to, thus claiming conformance to particular groups of
    features.
   </para>
  
   <para>
!   The <acronym>SQL99</acronym> standard is also split into 5 parts:
!   Framework, Foundation, Call Level Interface, Persistent Stored
!   Modules, and Host Language Bindings.
!   <productname>PostgreSQL</productname> only covers parts 1, 2, and 5.
    Part 3 is similar to the ODBC interface, and part 4 is similar to
    the <application>PL/pgSQL</application> programming language, but
!   exact conformance is not specifically intended in either case.
   </para>
  
   <para>
    In the following two sections, we provide a list of those features
    that <productname>PostgreSQL</productname> supports, followed by a
!   list of the features defined in SQL99 which are not yet supported in
!   <productname>PostgreSQL</productname>.  Both of these lists are
    approximate: There may be minor details that are nonconforming for a
    feature that is listed as supported, and large parts of an
    unsupported feature may in fact be implemented.  The main body of
    the documentation always contains the most accurate information
!   about what does and does not work.
   </para>
  
   <note>
--- 47,117 ----
   </para>
  
   <para>
!   Starting with <acronym>SQL99</acronym>, the SQL standard now defines a large 
!   set of individual features rather than the ineffectively broad three levels 
!   found in <acronym>SQL92</acronym>. A large subset of these features
!   represents the <quote>Core</quote> features, which every conforming
    SQL implementation must supply.  The rest of the features are purely
    optional.  Some optional features are grouped together to form
!   <quote>Packages</quote>, which SQL implementations can claim
    conformance to, thus claiming conformance to particular groups of
    features.
   </para>
  
   <para>
!   The <acronym>SQL2003</acronym> standard is also split into a number of parts.
!   Each is known by a shorthand name, such as <acronym>SQL/CLI</acronym> or 
!   <acronym>SQL/XML</acronym>. Note that these parts are not consecutively 
!   numbered.
!   <itemizedlist>
!    <listitem>ISO/IEC 9075-1 Framework 
!     (<acronym>SQL/Framework</acronym>)
!    </listitem>
!    <listitem>ISO/IEC 9075-2 Foundation 
!     (<acronym>SQL/Foundation</acronym>)
!    </listitem>
!    <listitem>ISO/IEC 9075-3 Call Level Interface 
!     (<acronym>SQL/CLI</acronym>)
!    </listitem>
!    <listitem>ISO/IEC 9075-4 Persistent Stored Modules 
!     (<acronym>SQL/PSM</acronym>)
!    </listitem>
!    <listitem>ISO/IEC 9075-9 Management of External Data 
!     (<acronym>SQL/MED</acronym>)
!    </listitem>
!    <listitem>ISO/IEC 9075-10 Object Language Bindings 
!     (<acronym>SQL/OLB</acronym>)
!    </listitem>
!    <listitem>ISO/IEC 9075-11 Information and Definition Schemas 
!     (<acronym>SQL/Schemata</acronym>)
!    </listitem>
!    <listitem>ISO/IEC 9075-13 Routines and Types using the Java Language 
!     (<acronym>SQL/JRT</acronym>)
!    </listitem>
!    <listitem>ISO/IEC 9075-14 XML-related specifications 
!     (<acronym>SQL/XML</acronym>)
!    </listitem>
!   </itemizedlist>
!  </para>
! 
!  <para>
!   <productname>PostgreSQL</productname> covers parts 1, 2, and 11.
    Part 3 is similar to the ODBC interface, and part 4 is similar to
    the <application>PL/pgSQL</application> programming language, but
!   exact conformance is not specifically intended in either case. 
   </para>
  
   <para>
    In the following two sections, we provide a list of those features
    that <productname>PostgreSQL</productname> supports, followed by a
!   list of the features defined in <acronym>SQL2003</acronym> which are not yet 
!   supported in <productname>PostgreSQL</productname>.  Both of these lists are
    approximate: There may be minor details that are nonconforming for a
    feature that is listed as supported, and large parts of an
    unsupported feature may in fact be implemented.  The main body of
    the documentation always contains the most accurate information
!   about what does and does not work. Please submit questions, clarifications
!   and documentation changes should you find additional information.
   </para>
  
   <note>
***************
*** 79,85 ****
    </para>
   </note>
  
!   <sect1 id="features-sql99">
     <title>Supported Features</title>
  
     <para>
--- 122,128 ----
    </para>
   </note>
  
!   <sect1 id="features-sql-standard">
     <title>Supported Features</title>
  
     <para>
***************
*** 101,111 ****
     </para>
    </sect1>
  
!   <sect1 id="unsupported-features-sql99">
     <title>Unsupported Features</title>
  
     <para>
!     The following features defined in <acronym>SQL99</acronym> are not
      implemented in this release of
      <productname>PostgreSQL</productname>. In a few cases, equivalent
      functionality is available.
--- 144,154 ----
     </para>
    </sect1>
  
!   <sect1 id="unsupported-features-sql-standard">
     <title>Unsupported Features</title>
  
     <para>
!     The following features defined in <acronym>SQL2003</acronym> are not
      implemented in this release of
      <productname>PostgreSQL</productname>. In a few cases, equivalent
      functionality is available.
