I've re-written the start of the SQL Conformance section to update
things for the SQL2003 standard.

This is intended to be applied alongside Troels Arvin's patch, though
can be applied without it also. I've not reviewed Troels' patch in
detail yet.

-- 
Best Regards, Simon Riggs
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.
---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Reply via email to