diff --git a/doc/src/sgml/array.sgml b/doc/src/sgml/array.sgml
index 2307ad47fd55c1cb9a07545ac4032c445248befc..ff8d6be531e71f70c714c55bbdb8a5e3d9337b32 100644
--- a/doc/src/sgml/array.sgml
+++ b/doc/src/sgml/array.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/array.sgml,v 1.39 2004/11/15 06:32:13 neilc Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/array.sgml,v 1.40 2004/11/27 21:27:05 petere Exp $ -->
 
 <sect1 id="arrays">
  <title>Arrays</title>
@@ -63,8 +63,10 @@ CREATE TABLE tictactoe (
  </para>
 
  <para>
-  An alternative, SQL99-standard syntax may be used for one-dimensional arrays.
-  <structfield>pay_by_quarter</structfield> could have been defined as:
+  An alternative syntax, which conforms to the SQL:1999 standard, may
+  be used for one-dimensional arrays.
+  <structfield>pay_by_quarter</structfield> could have been defined
+  as:
 <programlisting>
     pay_by_quarter  integer ARRAY[4],
 </programlisting>
diff --git a/doc/src/sgml/datatype.sgml b/doc/src/sgml/datatype.sgml
index 6e01bfd94b13f55323a68206926b8686a7820724..dd406e12e07c1b120af90b2a06bfc81f0082d7e9 100644
--- a/doc/src/sgml/datatype.sgml
+++ b/doc/src/sgml/datatype.sgml
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/datatype.sgml,v 1.150 2004/09/20 22:48:25 tgl Exp $
+$PostgreSQL: pgsql/doc/src/sgml/datatype.sgml,v 1.151 2004/11/27 21:27:05 petere Exp $
 -->
 
  <chapter id="datatype">
@@ -1744,9 +1744,20 @@ January 8 04:05:06 1999 PST
      </para>
 
      <para>
-      For <type>timestamp [without time zone]</type>, any explicit time
-      zone specified in the input is silently ignored. That is, the
-      resulting date/time value is derived from the explicit date/time
+      The <acronym>SQL</acronym> standard differentiates <type>timestamp without time zone</type> 
+      and <type>timestamp with time zone</type> literals by the existence of a 
+      <quote>+</quote>; or <quote>-</quote>. Hence, according to the standard, 
+      <programlisting>TIMESTAMP '2004-10-19 10:23:54'</programlisting>
+      is a <type>timestamp without time zone</type>, while
+      <programlisting>TIMESTAMP '2004-10-19 10:23:54+02'</programlisting>
+      is a <type>timestamp with time zone</type>.
+      <productname>PostgreSQL</productname> 
+      differs from the standard by requiring that <type>timestamp with time zone</type> 
+      literals be explicitly typed:
+      <programlisting>TIMESTAMP WITH TIME ZONE '2004-10-19 10:23:54+02'</programlisting>
+      If a literal is not explicitly indicated as being of <type>timestamp with time zone</type>,
+      PostgreSQL will silently ignore any time zone indication in the literal.
+      That is, the resulting date/time value is derived from the date/time
       fields in the input value, and is not adjusted for time zone.
      </para>
 
diff --git a/doc/src/sgml/ddl.sgml b/doc/src/sgml/ddl.sgml
index fcae34f4a50488c7c0717831ecc6502123ef80c6..fd18cd2a9ecfd6952dd516658ec00791c214a681 100644
--- a/doc/src/sgml/ddl.sgml
+++ b/doc/src/sgml/ddl.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/ddl.sgml,v 1.32 2004/11/15 06:32:13 neilc Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/ddl.sgml,v 1.33 2004/11/27 21:27:06 petere Exp $ -->
 
 <chapter id="ddl">
  <title>Data Definition</title>
@@ -1069,7 +1069,7 @@ SELECT name, altitude
    <para>
      In previous versions of <productname>PostgreSQL</productname>, the
      default behavior was not to include child tables in queries. This was
-     found to be error prone and is also in violation of the SQL99
+     found to be error prone and is also in violation of the SQL:1999
      standard. Under the old syntax, to get the sub-tables you append
      <literal>*</literal> to the table name.
      For example
diff --git a/doc/src/sgml/errcodes.sgml b/doc/src/sgml/errcodes.sgml
index bc900283f54674fa9e0af4137678ea23e53a80b8..1df05a8b6bd96a8cf1e56c972fdd85507a5aa56c 100644
--- a/doc/src/sgml/errcodes.sgml
+++ b/doc/src/sgml/errcodes.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/errcodes.sgml,v 1.10 2004/11/15 06:32:13 neilc Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/errcodes.sgml,v 1.11 2004/11/27 21:27:06 petere Exp $ -->
 
 <appendix id="errcodes-appendix">
  <title><productname>PostgreSQL</productname> Error Codes</title>
@@ -125,7 +125,7 @@
 
 <row>
 <entry>Class 02</entry>
-<entry>No Data &mdash; this is also a warning class per SQL99</entry>
+<entry>No Data &mdash; this is also a warning class per SQL:1999</entry>
 </row>
 
 <row>
diff --git a/doc/src/sgml/features.sgml b/doc/src/sgml/features.sgml
index bea6aa6f9c8586be0ae340cc8f4e7bcfa39cd77d..2e3a4983f1cc50800d75b6c002785da5c3f104e6 100644
--- a/doc/src/sgml/features.sgml
+++ b/doc/src/sgml/features.sgml
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/features.sgml,v 2.22 2003/11/29 19:51:37 pgsql Exp $
+$PostgreSQL: pgsql/doc/src/sgml/features.sgml,v 2.23 2004/11/27 21:27:06 petere Exp $
 -->
 
 <appendix id="features">
@@ -7,68 +7,96 @@ $PostgreSQL: pgsql/doc/src/sgml/features.sgml,v 2.22 2003/11/29 19:51:37 pgsql E
 
  <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>
+  <productname>PostgreSQL</productname> conforms to the current SQL
+  standard.  The following information is not a full statement of
+  conformance, but it presents the main topics in as much detail as is
+  both reasonable and useful for users.
+ </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
+  from time to time; the most recent one appearing in late 2003.  That
+  version is referred to as ISO/IEC 9075:2003, or simply as SQL:2003.
+  The versions prior to that were SQL:1999 and SQL-92.  Each version
+  replaces the previous one, so claims of conformance to earlier
+  versions have no official merit.
+  <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.  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.
+  sense.  The PostgreSQL project was not represented in the ISO/IEC
+  9075 Working Group during the preparation of SQL:2003.  Even so,
+  many of the features required by SQL:2003 are already supported,
+  though sometimes with slightly differing syntax or function.
+  Further moves towards conformance may be expected in later releases.
+ </para>
+
+ <para>
+  <acronym>SQL-92</acronym> defined three feature sets for
+  conformance: Entry, Intermediate, and Full.  Most database
+  management systems claiming <acronym>SQL</acronym> standard
+  conformance were conforming at only the Entry level, since the
+  entire set of features in the Intermediate and Full levels was
+  either too voluminous or in conflict with legacy behaviors.
  </para>
 
  <para>
-  <acronym>SQL92</acronym> defined three feature sets for conformance:
-  Entry, Intermediate, and Full. Most database management systems claiming
-  <acronym>SQL</acronym> standard conformance were conforming at only
-  the Entry level, since the entire set of features in the
-  Intermediate and Full levels was either too voluminous or in
-  conflict with legacy behaviors.
+  Starting with <acronym>SQL:1999</acronym>, the SQL standard defines
+  a large set of individual features rather than the ineffectively
+  broad three levels found in <acronym>SQL-92</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>
-  <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.
+  The <acronym>SQL:2003</acronym> standard is also split into a number
+  of parts.  Each is known by a shorthand name.  Note that these parts
+  are not consecutively numbered.
+
+  <itemizedlist>
+   <listitem><para>ISO/IEC 9075-1 Framework (<acronym>SQL/Framework</acronym>)</para></listitem>
+   <listitem><para>ISO/IEC 9075-2 Foundation (<acronym>SQL/Foundation</acronym>)</para></listitem>
+   <listitem><para>ISO/IEC 9075-3 Call Level Interface (<acronym>SQL/CLI</acronym>)</para></listitem>
+   <listitem><para>ISO/IEC 9075-4 Persistent Stored Modules (<acronym>SQL/PSM</acronym>)</para></listitem>
+   <listitem><para>ISO/IEC 9075-9 Management of External Data (<acronym>SQL/MED</acronym>)</para></listitem>
+   <listitem><para>ISO/IEC 9075-10 Object Language Bindings (<acronym>SQL/OLB</acronym>)</para></listitem>
+   <listitem><para>ISO/IEC 9075-11 Information and Definition Schemas (<acronym>SQL/Schemata</acronym>)</para></listitem>
+   <listitem><para>ISO/IEC 9075-13 Routines and Types using the Java Language (<acronym>SQL/JRT</acronym>)</para></listitem>
+   <listitem><para>ISO/IEC 9075-14 XML-related specifications (<acronym>SQL/XML</acronym>)</para></listitem>
+  </itemizedlist>
  </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.
+  <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.
+  exact conformance is not specifically intended or verified in either
+  case.
+ </para>
+
+ <para>
+  PostgreSQL supports most of the major features of SQL:2003.  Out of
+  164 mandatory features required for full Core conformance,
+  PostgreSQL conforms to at least 150.  In addition, there is a long
+  list of supported optional features.  It may be worth noting that at
+  the time of writing, no current version of any database management
+  system claims full conformance to Core SQL:2003.
  </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.
+  list of the features defined in <acronym>SQL:2003</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.
  </para>
 
  <note>
@@ -79,7 +107,7 @@ $PostgreSQL: pgsql/doc/src/sgml/features.sgml,v 2.22 2003/11/29 19:51:37 pgsql E
   </para>
  </note>
 
-  <sect1 id="features-sql99">
+  <sect1 id="features-sql-standard">
    <title>Supported Features</title>
 
    <para>
@@ -101,11 +129,11 @@ $PostgreSQL: pgsql/doc/src/sgml/features.sgml,v 2.22 2003/11/29 19:51:37 pgsql E
    </para>
   </sect1>
 
-  <sect1 id="unsupported-features-sql99">
+  <sect1 id="unsupported-features-sql-standard">
    <title>Unsupported Features</title>
 
    <para>
-    The following features defined in <acronym>SQL99</acronym> are not
+    The following features defined in <acronym>SQL:2003</acronym> are not
     implemented in this release of
     <productname>PostgreSQL</productname>. In a few cases, equivalent
     functionality is available.
diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml
index 2549c516db9f8cf1a5822c1a273c7d77da01c3b7..111000086d85be940c7358eb3867c4dcc62c3335 100644
--- a/doc/src/sgml/func.sgml
+++ b/doc/src/sgml/func.sgml
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/func.sgml,v 1.223 2004/11/15 06:32:13 neilc Exp $
+$PostgreSQL: pgsql/doc/src/sgml/func.sgml,v 1.224 2004/11/27 21:27:06 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -2479,16 +2479,15 @@ cast(-44 as bit(12))           <lineannotation>111111010100</lineannotation>
   </indexterm>
 
    <para>
-    There are three separate approaches to pattern matching provided by
-    <productname>PostgreSQL</productname>:  the traditional
-    <acronym>SQL</acronym> 
-    <function>LIKE</function> operator, the more recent
-    <acronym>SQL99</acronym> 
-    <function>SIMILAR TO</function> operator, and
-    <acronym>POSIX</acronym>-style regular expressions.
+    There are three separate approaches to pattern matching provided
+    by <productname>PostgreSQL</productname>: the traditional
+    <acronym>SQL</acronym> <function>LIKE</function> operator, the
+    more recent <literal>>SIMILAR TO</literal> operator (since
+    SQL:1999), and <acronym>POSIX</acronym>-style regular expressions.
     Additionally, a pattern matching function,
     <function>substring</function>, is available, using either
-    <acronym>SQL99</acronym>-style or POSIX-style regular expressions.
+    <literal>SIMILAR TO</literal>-style or POSIX-style regular
+    expressions.
    </para>
 
    <tip>
@@ -2595,11 +2594,10 @@ cast(-44 as bit(12))           <lineannotation>111111010100</lineannotation>
   </sect2>
 
 
-  <sect2 id="functions-sql99-regexp">
-   <title><function>SIMILAR TO</function> and <acronym>SQL99</acronym>
-     Regular Expressions</title>
+  <sect2 id="functions-similarto-regexp">
+   <title><function>SIMILAR TO</function> Regular Expressions</title>
 
-   <indexterm zone="functions-sql99-regexp">
+   <indexterm zone="functions-similarto-regexp">
     <primary>regular expression</primary>
     <!-- <seealso>pattern matching</seealso> breaks index build -->
    </indexterm>
@@ -2618,14 +2616,13 @@ cast(-44 as bit(12))           <lineannotation>111111010100</lineannotation>
 </synopsis>
 
     <para>
-     The <function>SIMILAR TO</function> operator returns true or false
-     depending on whether its pattern matches the given string.  It is
-     much like <function>LIKE</function>, except that it interprets the
-     pattern using <acronym>SQL99</acronym>'s definition of a regular
-     expression.
-     <acronym>SQL99</acronym>'s regular expressions are a curious cross
-     between <function>LIKE</function> notation and common regular expression
-     notation.
+     The <function>SIMILAR TO</function> operator returns true or
+     false depending on whether its pattern matches the given string.
+     It is much like <function>LIKE</function>, except that it
+     interprets the pattern using the SQL standard's definition of a
+     regular expression.  SQL regular expressions are a curious cross
+     between <function>LIKE</function> notation and common regular
+     expression notation.
     </para>
 
     <para>
@@ -2704,7 +2701,7 @@ cast(-44 as bit(12))           <lineannotation>111111010100</lineannotation>
      <function>substring(<parameter>string</parameter> from
      <replaceable>pattern</replaceable> for
      <replaceable>escape-character</replaceable>)</function>, provides
-     extraction of a substring that matches a <acronym>SQL99</acronym>
+     extraction of a substring that matches an SQL
      regular expression pattern.  As with <literal>SIMILAR TO</>, the
      specified pattern must match to the entire data string, else the
      function fails and returns null.  To indicate the part of the
diff --git a/doc/src/sgml/information_schema.sgml b/doc/src/sgml/information_schema.sgml
index 4a2e8f581c5abd99537e1c68ae4192d5cd84d93d..b617d014e9a8742e2172a25283a99d18817fdb81 100644
--- a/doc/src/sgml/information_schema.sgml
+++ b/doc/src/sgml/information_schema.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/information_schema.sgml,v 1.18 2004/11/15 06:32:13 neilc Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/information_schema.sgml,v 1.19 2004/11/27 21:27:06 petere Exp $ -->
 
 <chapter id="information-schema">
  <title>The Information Schema</title>
@@ -3267,7 +3267,7 @@ ORDER BY c.ordinal_position;
       <entry>
        The year the standard referenced in
        <literal>sql_language_source</literal> was approved; currently
-       <literal>1999</>
+       <literal>2003</>
       </entry>
      </row>
 
@@ -3276,7 +3276,7 @@ ORDER BY c.ordinal_position;
       <entry><type>character_data</type></entry>
       <entry>
        The standard conformance level for the language binding.  For
-       ISO 9075:1999 this is always <literal>CORE</literal>.
+       ISO 9075:2003 this is always <literal>CORE</literal>.
       </entry>
      </row>
 
diff --git a/doc/src/sgml/intro.sgml b/doc/src/sgml/intro.sgml
index 2687fdb07874a6e348f4c22fffefce6c924252b1..ec0e4398da6f936f4461d70e948fae4bf5a254a7 100644
--- a/doc/src/sgml/intro.sgml
+++ b/doc/src/sgml/intro.sgml
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/intro.sgml,v 1.25 2004/08/08 01:52:14 momjian Exp $
+$PostgreSQL: pgsql/doc/src/sgml/intro.sgml,v 1.26 2004/11/27 21:27:06 petere Exp $
 -->
 
 <preface id="preface">
@@ -98,8 +98,8 @@ $PostgreSQL: pgsql/doc/src/sgml/intro.sgml,v 1.25 2004/08/08 01:52:14 momjian Ex
 
   <para>
    <productname>PostgreSQL</productname> is an open-source descendant
-   of this original Berkeley code.  It supports SQL92, SQL99 and
-   SQL2003 and offers many modern features:
+   of this original Berkeley code.  It supports a large part of the SQL:2003
+   standard and offers many modern features:
 
    <itemizedlist spacing="compact">
     <listitem>
diff --git a/doc/src/sgml/keywords.sgml b/doc/src/sgml/keywords.sgml
index 7fdadaddad83fe2364385dfb7bb931426edec663..8991140717b1408027a42f3063da94abfdca95c6 100644
--- a/doc/src/sgml/keywords.sgml
+++ b/doc/src/sgml/keywords.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/keywords.sgml,v 2.14 2004/10/18 17:09:03 petere Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/keywords.sgml,v 2.15 2004/11/27 21:27:06 petere Exp $ -->
 
 <appendix id="sql-keywords-appendix">
  <title><acronym>SQL</acronym> Key Words</title>
@@ -86,9 +86,9 @@
    <row>
     <entry>Key Word</entry>
     <entry><productname>PostgreSQL</productname></entry>
-    <entry><acronym>SQL</acronym> 2003</entry>
-    <entry><acronym>SQL</acronym> 1999</entry>
-    <entry><acronym>SQL</acronym> 1992</entry>
+    <entry>SQL:2003</entry>
+    <entry>SQL:1999</entry>
+    <entry>SQL-92</entry>
    </row>
   </thead>
 
diff --git a/doc/src/sgml/ref/alter_domain.sgml b/doc/src/sgml/ref/alter_domain.sgml
index 7ecee65021c72b5920c2b3c5536f3cc61fbf1bb0..7d5f050196e356d0d0b7dabaa08d9fe84a835912 100644
--- a/doc/src/sgml/ref/alter_domain.sgml
+++ b/doc/src/sgml/ref/alter_domain.sgml
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/alter_domain.sgml,v 1.12 2004/03/23 13:21:41 neilc Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/alter_domain.sgml,v 1.13 2004/11/27 21:27:07 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -203,7 +203,7 @@ ALTER DOMAIN zipcode DROP CONSTRAINT zipchk;
   <title>Compatibility</title>
     
   <para>
-   The <command>ALTER DOMAIN</command> statement is compatible with SQL99,
+   The <command>ALTER DOMAIN</command> statement is compatible with SQL:1999,
    except for the <literal>OWNER</> variant, which is a
    <productname>PostgreSQL</productname> extension.
   </para>
diff --git a/doc/src/sgml/ref/alter_sequence.sgml b/doc/src/sgml/ref/alter_sequence.sgml
index 8337e2790754f59ae6657a9f1f530ac1a27c8d55..a96b1d722af8e59a07a06d7ad0342837cfdd1dd8 100644
--- a/doc/src/sgml/ref/alter_sequence.sgml
+++ b/doc/src/sgml/ref/alter_sequence.sgml
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/alter_sequence.sgml,v 1.8 2004/08/24 00:06:51 neilc Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/alter_sequence.sgml,v 1.9 2004/11/27 21:27:07 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -190,22 +190,11 @@ ALTER SEQUENCE serial RESTART WITH 105;
 
 
  <refsect1>
-  <title>
-   Compatibility
-  </title>
+  <title>Compatibility</title>
 
-  <refsect2>
-   <title>
-    SQL99
-   </title>
-
-   <para>
-    <command>ALTER SEQUENCE</command> is a <productname>PostgreSQL</productname>
-    language extension.
-    There is no <command>ALTER SEQUENCE</command> statement
-    in <acronym>SQL99</acronym>.
-   </para>
-  </refsect2>
+  <para>
+   <command>ALTER SEQUENCE</command> conforms with <acronym>SQL:2003</acronym>.
+  </para>
  </refsect1>
 </refentry>
 
diff --git a/doc/src/sgml/ref/create_cast.sgml b/doc/src/sgml/ref/create_cast.sgml
index 1687d6bb7f23cf849437e6f4ee00324d69f927e1..c36f12675bd9c95418bb9fccfb8122c0a784d87f 100644
--- a/doc/src/sgml/ref/create_cast.sgml
+++ b/doc/src/sgml/ref/create_cast.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/ref/create_cast.sgml,v 1.18 2004/09/17 02:06:33 neilc Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/ref/create_cast.sgml,v 1.19 2004/11/27 21:27:07 petere Exp $ -->
 
 <refentry id="SQL-CREATECAST">
  <refmeta>
@@ -298,8 +298,8 @@ CREATE CAST (text AS int4) WITH FUNCTION int4(text);
   <title>Compatibility</title>
 
   <para>
-   The <command>CREATE CAST</command> command conforms to SQL99,
-   except that SQL99 does not make provisions for binary-compatible
+   The <command>CREATE CAST</command> command conforms to SQL:1999,
+   except that SQL:1999 does not make provisions for binary-compatible
    types or extra arguments to implementation functions.
    <literal>AS IMPLICIT</> is a <productname>PostgreSQL</productname> 
    extension, too.
diff --git a/doc/src/sgml/ref/create_function.sgml b/doc/src/sgml/ref/create_function.sgml
index a3e266729be1dd26a54f742d6e8bd14a9597480c..7d8d01f4cd36416e7af79d857e17cc5c9d7d1b69 100644
--- a/doc/src/sgml/ref/create_function.sgml
+++ b/doc/src/sgml/ref/create_function.sgml
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/create_function.sgml,v 1.62 2004/10/01 02:00:44 neilc Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/create_function.sgml,v 1.63 2004/11/27 21:27:07 petere Exp $
 -->
 
 <refentry id="SQL-CREATEFUNCTION">
@@ -419,7 +419,7 @@ CREATE OR REPLACE FUNCTION increment(i integer) RETURNS integer AS '
   <title>Compatibility</title>
 
   <para>
-   A <command>CREATE FUNCTION</command> command is defined in SQL99.
+   A <command>CREATE FUNCTION</command> command is defined in SQL:1999 and later.
    The <productname>PostgreSQL</productname> version is similar but
    not fully compatible.  The attributes are not portable, neither are the
    different available languages.
diff --git a/doc/src/sgml/ref/create_sequence.sgml b/doc/src/sgml/ref/create_sequence.sgml
index d380d32a7291ce08aabd4d914391d76dd3d870bc..1afaa0ba295dedbc9e4c27e963bb096963835e76 100644
--- a/doc/src/sgml/ref/create_sequence.sgml
+++ b/doc/src/sgml/ref/create_sequence.sgml
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/create_sequence.sgml,v 1.41 2004/07/12 05:36:56 tgl Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/create_sequence.sgml,v 1.42 2004/11/27 21:27:07 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -297,10 +297,12 @@ END;
   <title>Compatibility</title>
 
   <para>
-   <command>CREATE SEQUENCE</command> is a
-   <productname>PostgreSQL</productname> language extension.  There is
-   no <command>CREATE SEQUENCE</command> statement in the SQL
-   standard.
+   <command>CREATE SEQUENCE</command> is is specified in <acronym>SQL:2003</acronym>.
+   <productname>PostgreSQL</productname> conforms with the standard, with the following exceptions:
+   <itemizedlist>
+    <listitem><para>The standard's <literal>AS &lt;data type&gt;</literal> expression is not supported.</para></listitem>
+    <listitem><para>Obtaining the next value is done using the <function>nextval()</> function instead of the standard's <command>NEXT VALUE FOR</command> expression.</para></listitem>
+   </itemizedlist>
   </para>
  </refsect1>
 </refentry>
diff --git a/doc/src/sgml/ref/create_table.sgml b/doc/src/sgml/ref/create_table.sgml
index 8b18d837c96af38529f21d3da33ce76abc0bcdea..68cce936db42fc869c6daa5dd2b552cb5bdfc5db 100644
--- a/doc/src/sgml/ref/create_table.sgml
+++ b/doc/src/sgml/ref/create_table.sgml
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/create_table.sgml,v 1.86 2004/11/05 19:15:51 tgl Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/create_table.sgml,v 1.87 2004/11/27 21:27:07 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -865,8 +865,8 @@ CREATE TABLE cinemas (
   <title id="SQL-CREATETABLE-compatibility-title">Compatibility</title>
 
   <para>
-   The <command>CREATE TABLE</command> command conforms to SQL92
-   and to a subset of SQL99, with exceptions listed below.
+   The <command>CREATE TABLE</command> command conforms to SQL-92 and
+   to a subset of SQL:1999, with exceptions listed below.
   </para>
 
   <refsect2>
@@ -943,10 +943,11 @@ CREATE TABLE cinemas (
 
    <para>
     Multiple inheritance via the <literal>INHERITS</literal> clause is
-    a <productname>PostgreSQL</productname> language extension.  SQL99
-    (but not SQL92) defines single inheritance using a different
-    syntax and different semantics.  SQL99-style inheritance is not
-    yet supported by <productname>PostgreSQL</productname>.
+    a <productname>PostgreSQL</productname> language extension.
+    SQL:1999 (but not SQL-92) defines single inheritance using a
+    different syntax and different semantics.  SQL:1999-style
+    inheritance is not yet supported by
+    <productname>PostgreSQL</productname>.
    </para>
   </refsect2>
 
diff --git a/doc/src/sgml/ref/create_table_as.sgml b/doc/src/sgml/ref/create_table_as.sgml
index 2e0115e87dbed3352ea407018b91e140f0080cac..8565b13d01577cdfb98e9feb309b1a3fa04720d4 100644
--- a/doc/src/sgml/ref/create_table_as.sgml
+++ b/doc/src/sgml/ref/create_table_as.sgml
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/create_table_as.sgml,v 1.24 2004/09/23 03:43:57 neilc Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/create_table_as.sgml,v 1.25 2004/11/27 21:27:07 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -166,9 +166,9 @@ CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE <replaceable>table_name
   <title>Compatibility</title>
 
   <para>
-   <command>CREATE TABLE AS</command> is specified by the SQL2003
+   <command>CREATE TABLE AS</command> is specified by the SQL:2003
    standard. There are some small differences between the definition
-   of the command in SQL2003 and its implementation in
+   of the command in SQL:2003 and its implementation in
    <productname>PostgreSQL</>:
 
    <itemizedlist spacing="compact">
diff --git a/doc/src/sgml/ref/create_trigger.sgml b/doc/src/sgml/ref/create_trigger.sgml
index 46b98ca76e5b2d74fe61c914320bfb9ce0a63e4d..f712636f49e3c7b3ada6f964333d1a7935164568 100644
--- a/doc/src/sgml/ref/create_trigger.sgml
+++ b/doc/src/sgml/ref/create_trigger.sgml
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/create_trigger.sgml,v 1.39 2003/12/01 17:58:27 tgl Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/create_trigger.sgml,v 1.40 2004/11/27 21:27:07 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -208,20 +208,20 @@ CREATE TRIGGER <replaceable class="PARAMETER">name</replaceable> { BEFORE | AFTE
   <para>
    The <command>CREATE TRIGGER</command> statement in
    <productname>PostgreSQL</productname> implements a subset of the
-   SQL99 standard.  (There are no provisions for triggers in SQL92.)
+   SQL:1999 standard.  (There are no provisions for triggers in SQL-92.)
    The following functionality is missing:
 
    <itemizedlist>
     <listitem>
      <para>
-      SQL99 allows triggers to fire on updates to specific columns
+      SQL:1999 allows triggers to fire on updates to specific columns
       (e.g., <literal>AFTER UPDATE OF col1, col2</literal>).
      </para>
     </listitem>
 
     <listitem>
      <para>
-      SQL99 allows you to define aliases for the <quote>old</quote>
+      SQL:1999 allows you to define aliases for the <quote>old</quote>
       and <quote>new</quote> rows or tables for use in the definition
       of the triggered action (e.g., <literal>CREATE TRIGGER ... ON
       tablename REFERENCING OLD ROW AS somename NEW ROW AS othername
@@ -235,7 +235,7 @@ CREATE TRIGGER <replaceable class="PARAMETER">name</replaceable> { BEFORE | AFTE
     <listitem>
      <para>
       <productname>PostgreSQL</productname> only allows the execution
-      of a user-defined function for the triggered action.  SQL99
+      of a user-defined function for the triggered action.  SQL:1999
       allows the execution of a number of other SQL commands, such as
       <command>CREATE TABLE</command> as triggered action.  This
       limitation is not hard to work around by creating a user-defined
@@ -246,7 +246,7 @@ CREATE TRIGGER <replaceable class="PARAMETER">name</replaceable> { BEFORE | AFTE
   </para>
 
   <para>
-   SQL99 specifies that multiple triggers should be fired in
+   SQL:1999 specifies that multiple triggers should be fired in
    time-of-creation order.  <productname>PostgreSQL</productname> uses
    name order, which was judged more convenient to work with.
   </para>
diff --git a/doc/src/sgml/ref/create_type.sgml b/doc/src/sgml/ref/create_type.sgml
index b7d1ac64e0aa0ae4c3efb93d9504275ad1530972..ef6f93b0f2787c3411cf01ae8d81e267bd7eeac6 100644
--- a/doc/src/sgml/ref/create_type.sgml
+++ b/doc/src/sgml/ref/create_type.sgml
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/create_type.sgml,v 1.52 2004/06/25 21:55:50 tgl Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/create_type.sgml,v 1.53 2004/11/27 21:27:07 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -535,7 +535,7 @@ CREATE TABLE big_objs (
   <para>
    This <command>CREATE TYPE</command> command is a
    <productname>PostgreSQL</productname> extension.  There is a
-   <command>CREATE TYPE</command> statement in SQL99 that is rather
+   <command>CREATE TYPE</command> statement in SQL:1999 and later that is rather
    different in detail.
   </para>
  </refsect1>
diff --git a/doc/src/sgml/ref/drop_sequence.sgml b/doc/src/sgml/ref/drop_sequence.sgml
index 6d8d4084a220ff1cddebffaaabca38026562a2a5..f519ebedee7f76d271de74617946137a697c27d2 100644
--- a/doc/src/sgml/ref/drop_sequence.sgml
+++ b/doc/src/sgml/ref/drop_sequence.sgml
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/drop_sequence.sgml,v 1.20 2003/11/29 19:51:38 pgsql Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/drop_sequence.sgml,v 1.21 2004/11/27 21:27:07 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -82,7 +82,7 @@ DROP SEQUENCE serial;
   <title>Compatibility</title>
 
   <para>
-   There is no <command>DROP SEQUENCE</command> statement in the SQL standard.
+    <command>DROP SEQUENCE</command> conforms with <acronym>SQL:2003</acronym>.
   </para>
  </refsect1>
 
diff --git a/doc/src/sgml/ref/release_savepoint.sgml b/doc/src/sgml/ref/release_savepoint.sgml
index ca31c8dfd8bbff1e70e24a9fe9a1b4fd6739b1ef..2237aa32dfc335e77751f6b079e754cfe2c025c0 100644
--- a/doc/src/sgml/ref/release_savepoint.sgml
+++ b/doc/src/sgml/ref/release_savepoint.sgml
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/release_savepoint.sgml,v 1.2 2004/08/24 00:06:51 neilc Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/release_savepoint.sgml,v 1.3 2004/11/27 21:27:07 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -108,11 +108,10 @@ COMMIT;
   <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.
+   This command conforms to the SQL:2003 standard.  The standard
+   specifies that the key word <literal>SAVEPOINT</literal> is
+   mandatory, but <productname>PostgreSQL</productname> allows it to
+   be omitted.
   </para>
  </refsect1>
 
diff --git a/doc/src/sgml/ref/rollback_to.sgml b/doc/src/sgml/ref/rollback_to.sgml
index f96baec39856075c30c8d603213daf4cc3c139a9..0b87dc1a6bb3ca01fd995f712f900665376294d8 100644
--- a/doc/src/sgml/ref/rollback_to.sgml
+++ b/doc/src/sgml/ref/rollback_to.sgml
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/rollback_to.sgml,v 1.4 2004/09/20 00:04:19 neilc Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/rollback_to.sgml,v 1.5 2004/11/27 21:27:07 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -128,15 +128,14 @@ COMMIT;
   <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
+   The SQL:2003 standard specifies that the key word
+   <literal>SAVEPOINT</> is mandatory, but <productname>PostgreSQL</>
+   and <productname>Oracle</> allow it to be omitted.  SQL:2003 allows
+   only <literal>WORK</>, not <literal>TRANSACTION</>, as a noise word
+   after <literal>ROLLBACK</>.  Also, SQL:2003 has an optional clause
    <literal>AND [ NO ] CHAIN</> which is not currently supported by
-   <productname>PostgreSQL</>.  Otherwise, this command is fully
-   conforming.
+   <productname>PostgreSQL</>.  Otherwise, this command conforms to
+   the SQL standard.
   </para>
  </refsect1>
 
diff --git a/doc/src/sgml/ref/select.sgml b/doc/src/sgml/ref/select.sgml
index 5c6206a303e72e269eb93259b7b784977b6e6f72..06dd5594a0052d30cd97f1ab3558fea7e8167dbc 100644
--- a/doc/src/sgml/ref/select.sgml
+++ b/doc/src/sgml/ref/select.sgml
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/select.sgml,v 1.77 2004/05/16 23:22:08 neilc Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/select.sgml,v 1.78 2004/11/27 21:27:07 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -1045,7 +1045,7 @@ SELECT distributors.* FROM distributors d, distributors distributors;
    <title>Namespace Available to <literal>GROUP BY</literal> and <literal>ORDER BY</literal></title>
 
    <para>
-    In the SQL92 standard, an <literal>ORDER BY</literal> clause may
+    In the SQL-92 standard, an <literal>ORDER BY</literal> clause may
     only use result column names or numbers, while a <literal>GROUP
     BY</literal> clause may only use expressions based on input column
     names.  <productname>PostgreSQL</productname> extends each of
@@ -1058,11 +1058,11 @@ SELECT distributors.* FROM distributors d, distributors distributors;
    </para>
 
    <para>
-    SQL99 uses a slightly different definition which is not entirely upward
+    SQL:1999 uses a slightly different definition which is not entirely upward
     compatible 
-    with SQL92.  In most cases, however, <productname>PostgreSQL</productname>
+    with SQL-92.  In most cases, however, <productname>PostgreSQL</productname>
     will interpret an <literal>ORDER BY</literal> or <literal>GROUP
-    BY</literal> expression the same way SQL99 does.
+    BY</literal> expression the same way SQL:1999 does.
    </para>
   </refsect2>
 
diff --git a/doc/src/sgml/release.sgml b/doc/src/sgml/release.sgml
index 70d7dc3c270ce19b9943651e3335e49afd9834e8..d16aa0693bc77157b1ec877f8471266487f873d6 100644
--- a/doc/src/sgml/release.sgml
+++ b/doc/src/sgml/release.sgml
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.312 2004/11/22 07:30:22 neilc Exp $
+$PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.313 2004/11/27 21:27:06 petere Exp $
 -->
 
 <appendix id="release">
@@ -1514,13 +1514,13 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.312 2004/11/22 07:30:22 neilc E
       Change <function>ln()</>, <function>log()</>,
       <function>power()</>, and <function>sqrt()</> to emit the correct
       <literal>SQLSTATE</> error codes for certain error conditions, as
-      specified by SQL2003 (Neil)
+      specified by SQL:2003 (Neil)
      </para>
     </listitem>
 
     <listitem>
      <para>
-      Add <function>width_bucket()</> function as defined by SQL2003 (Neil)
+      Add <function>width_bucket()</> function as defined by SQL:2003 (Neil)
      </para>
     </listitem>
 
@@ -3706,7 +3706,7 @@ DROP SCHEMA information_schema CASCADE;
 
    <itemizedlist>
     <listitem>
-     <para>Make <command>CREATE SEQUENCE</command> grammar more conforming to SQL 2003 (Neil)</para>
+     <para>Make <command>CREATE SEQUENCE</command> grammar more conforming to SQL:2003 (Neil)</para>
     </listitem>
 
     <listitem>
@@ -3781,7 +3781,7 @@ DROP SCHEMA information_schema CASCADE;
     <listitem>
      <para>
       Allow copying table schema using <literal>LIKE
-      <replaceable>subtable</replaceable></literal>, also SQL 2003
+      <replaceable>subtable</replaceable></literal>, also SQL:2003
       feature <literal>INCLUDING DEFAULTS</literal> (Rod)
      </para>
     </listitem>
diff --git a/src/backend/catalog/information_schema.sql b/src/backend/catalog/information_schema.sql
index 8800b8ac15075c36a66cb354ac35b11962c79b44..cb6e168d3cbd7d27875948c46f62ec523154b004 100644
--- a/src/backend/catalog/information_schema.sql
+++ b/src/backend/catalog/information_schema.sql
@@ -4,7 +4,7 @@
  *
  * Copyright 2003, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/backend/catalog/information_schema.sql,v 1.24 2004/06/22 22:30:32 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/catalog/information_schema.sql,v 1.25 2004/11/27 21:27:08 petere Exp $
  */
 
 /*
@@ -1181,8 +1181,8 @@ CREATE TABLE sql_languages (
     sql_language_programming_language character_data
 ) WITHOUT OIDS;
 
-INSERT INTO sql_languages VALUES ('ISO 9075', '1999', 'CORE', NULL, NULL, 'DIRECT', NULL);
-INSERT INTO sql_languages VALUES ('ISO 9075', '1999', 'CORE', NULL, NULL, 'EMBEDDED', 'C');
+INSERT INTO sql_languages VALUES ('ISO 9075', '2003', 'CORE', NULL, NULL, 'DIRECT', NULL);
+INSERT INTO sql_languages VALUES ('ISO 9075', '2003', 'CORE', NULL, NULL, 'EMBEDDED', 'C');
 
 GRANT SELECT ON sql_languages TO PUBLIC;
 
@@ -1209,7 +1209,7 @@ INSERT INTO sql_packages VALUES ('PKG005', 'CLI', 'NO', NULL, 'ODBC is similar.'
 INSERT INTO sql_packages VALUES ('PKG006', 'Basic object support', 'NO', NULL, '');
 INSERT INTO sql_packages VALUES ('PKG007', 'Enhanced object support', 'NO', NULL, '');
 INSERT INTO sql_packages VALUES ('PKG008', 'Active database', 'NO', NULL, '');
-INSERT INTO sql_packages VALUES ('PKG009', 'SQL/MM support', 'NO', NULL, '');
+INSERT INTO sql_packages VALUES ('PKG010', 'OLAP', 'NO', NULL, 'NO');
 
 GRANT SELECT ON sql_packages TO PUBLIC;
 
diff --git a/src/backend/catalog/sql_feature_packages.txt b/src/backend/catalog/sql_feature_packages.txt
index b2e403cc113026dd4e8c32c97b2e15052c67d626..a9514045b81b19bcc17bbca710005c631d5ff933 100644
--- a/src/backend/catalog/sql_feature_packages.txt
+++ b/src/backend/catalog/sql_feature_packages.txt
@@ -53,21 +53,16 @@ F701	Enhanced integrity management
 F812	Core
 S011	Core
 S023	Basic object support
-S023	SQL/MM support
 S024	Enhanced object support
-S024	SQL/MM support
 S041	Basic object support
 S043	Enhanced object support
 S051	Basic object support
 S071	Enhanced object support
 S081	Enhanced object support
-S091	SQL/MM support
-S092	SQL/MM support
 S111	Enhanced object support
 S151	Basic object support
 S161	Enhanced object support
 S211	Enhanced object support
-S211	SQL/MM support
 S231	Enhanced object support
 S241	Enhanced object support
 T041	Basic object support
@@ -78,5 +73,4 @@ T211	Active database
 T212	Enhanced integrity management
 T321	Core
 T322	PSM
-T322	SQL/MM support
 T431	OLAP facilities
diff --git a/src/backend/catalog/sql_features.txt b/src/backend/catalog/sql_features.txt
index b33c5fb9c8a7690c3d7eb1a8ac12d6dae3161eca..2a300966fcd56908934f7156124f93d21daf8212 100644
--- a/src/backend/catalog/sql_features.txt
+++ b/src/backend/catalog/sql_features.txt
@@ -8,9 +8,26 @@ B017	Embedded PL/I			NO
 B021	Direct SQL			YES	
 B031	Basic dynamic SQL			NO	
 B032	Extended dynamic SQL			NO	
-B032	Extended dynamic SQL	01	<describe input> statement	NO	
+B032	Extended dynamic SQL	01	<describe input statement>	NO	
+B033	Untyped SQL-invoked function arguments			NO	
+B034	Dynamic specification of cursor attributes			NO	
 B041	Extensions to embedded SQL exception declarations			NO	
 B051	Enhanced execution rights			NO	
+B111	Module language Ada			NO	
+B112	Module language C			NO	
+B113	Module language COBOL			NO	
+B114	Module language Fortran			NO	
+B115	Module language MUMPS			NO	
+B116	Module language Pascal			NO	
+B117	Module language PL/I			NO	
+B121	Routine language Ada			NO	
+B122	Routine language C			NO	
+B123	Routine language COBOL			NO	
+B124	Routine language Fortran			NO	
+B125	Routine language MUMPS			NO	
+B126	Routine language Pascal			NO	
+B127	Routine language PL/I			NO	
+B128	Routine language SQL			NO	
 E011	Numeric data types			YES	
 E011	Numeric data types	01	INTEGER and SMALLINT data types	YES	
 E011	Numeric data types	02	REAL, DOUBLE PRECISION, and FLOAT data types	YES	
@@ -19,18 +36,18 @@ E011	Numeric data types	04	Arithmetic operators	YES
 E011	Numeric data types	05	Numeric comparison	YES	
 E011	Numeric data types	06	Implicit casting among the numeric data types	YES	
 E021	Character data types			YES	
-E021	Character data types	01	CHARACTER data type	YES	
-E021	Character data types	02	CHARACTER VARYING data type	YES	
-E021	Character data types	03	Character literals	YES	
-E021	Character data types	04	CHARACTER_LENGTH function	YES	
-E021	Character data types	05	OCTET_LENGTH function	YES	
-E021	Character data types	06	SUBSTRING function	YES	
-E021	Character data types	07	Character concatenation	YES	
-E021	Character data types	08	UPPER and LOWER functions	YES	
-E021	Character data types	09	TRIM function	YES	
-E021	Character data types	10	Implicit casting among the character data types	YES	
-E021	Character data types	11	POSITION function	YES	
-E021	Character data types	12	Character comparison	YES	
+E021	Character string types	01	CHARACTER data type	YES	
+E021	Character string types	02	CHARACTER VARYING data type	YES	
+E021	Character string types	03	Character literals	YES	
+E021	Character string types	04	CHARACTER_LENGTH function	YES	trims trailing spaces from CHARACTER values before counting
+E021	Character string types	05	OCTET_LENGTH function	YES	
+E021	Character string types	06	SUBSTRING function	YES	
+E021	Character string types	07	Character concatenation	YES	
+E021	Character string types	08	UPPER and LOWER functions	YES	
+E021	Character string types	09	TRIM function	YES	
+E021	Character string types	10	Implicit casting among the character string types	YES	
+E021	Character string types	11	POSITION function	YES	
+E021	Character string types	12	Character comparison	YES	
 E031	Identifiers			YES	
 E031	Identifiers	01	Delimited identifiers	YES	
 E031	Identifiers	02	Lower case identifiers	YES	
@@ -73,6 +90,8 @@ E081	Basic Privileges	05	UPDATE privilege at the column level	NO
 E081	Basic Privileges	06	REFERENCES privilege at the table level	YES	
 E081	Basic Privileges	07	REFERENCES privilege at the column level	NO	
 E081	Basic Privileges	08	WITH GRANT OPTION	YES	
+E081	Basic Privileges	09	USAGE privilege	NO	
+E081	Basic Privileges	10	EXECUTE privilege	YES	
 E091	Set functions			YES	
 E091	Set functions	01	AVG	YES	
 E091	Set functions	02	COUNT	YES	
@@ -87,7 +106,7 @@ E101	Basic data manipulation	03	Searched UPDATE statement	YES
 E101	Basic data manipulation	04	Searched DELETE statement	YES	
 E111	Single row SELECT statement			YES	
 E121	Basic cursor support			NO	
-E121	Basic cursor supoprt	01	DECLARE CURSOR	YES	
+E121	Basic cursor support	01	DECLARE CURSOR	YES	
 E121	Basic cursor support	02	ORDER BY columns need not be in select list	YES	
 E121	Basic cursor support	03	Value expressions in ORDER BY clause	YES	
 E121	Basic cursor support	04	OPEN statement	YES	
@@ -150,16 +169,17 @@ F051	Basic date and time	01	DATE data type (including support of DATE literal)	Y
 F051	Basic date and time	02	TIME data type (including support of TIME literal) with fractional seconds precision of at least 0	YES	
 F051	Basic date and time	03	TIMESTAMP data type (including support of TIMESTAMP literal) with fractional seconds precision of at least 0 and 6	YES	
 F051	Basic date and time	04	Comparison predicate on DATE, TIME, and TIMESTAMP data types	YES	
-F051	Basic date and time	05	Explicit CAST between datetime types and character types	YES	
+F051	Basic date and time	05	Explicit CAST between datetime types and character string types	YES	
 F051	Basic date and time	06	CURRENT_DATE	YES	
 F051	Basic date and time	07	LOCALTIME	YES	
 F051	Basic date and time	08	LOCALTIMESTAMP	YES	
 F052	Intervals and datetime arithmetic			YES	
+F053	OVERLAPS predicate			YES	
 F081	UNION and EXCEPT in views			YES	
 F111	Isolation levels other than SERIALIZABLE			YES	
-F111	Isolation levels other than SERIALIZABLE	01	READ UNCOMMITTED isolation level	YES	behaves like READ COMMITTED
+F111	Isolation levels other than SERIALIZABLE	01	READ UNCOMMITTED isolation level	YES	
 F111	Isolation levels other than SERIALIZABLE	02	READ COMMITTED isolation level	YES	
-F111	Isolation levels other than SERIALIZABLE	03	REPEATABLE READ isolation level	YES	behaves like SERIALIZABLE
+F111	Isolation levels other than SERIALIZABLE	03	REPEATABLE READ isolation level	YES	
 F121	Basic diagnostics management			NO	
 F121	Basic diagnostics management	01	GET DIAGNOSTICS statement	NO	
 F121	Basic diagnostics management	02	SET TRANSACTION statement: DIAGNOSTICS SIZE clause	NO	
@@ -175,16 +195,18 @@ F191	Referential delete actions			YES
 F201	CAST function			YES	
 F221	Explicit defaults			YES	
 F222	INSERT statement: DEFAULT VALUES clause			YES	
-F231	Privilege Tables			YES	
-F231	Privilege Tables	01	TABLE_PRIVILEGES view	YES	
-F231	Privilege Tables	02	COLUMN_PRIVILEGES view	YES	
-F231	Privilege Tables	03	USAGE_PRIVILEGES view	YES	
+F231	Privilege tables			YES	
+F231	Privilege tables	01	TABLE_PRIVILEGES view	YES	
+F231	Privilege tables	02	COLUMN_PRIVILEGES view	YES	
+F231	Privilege tables	03	USAGE_PRIVILEGES view	YES	
 F251	Domain support			YES	
 F261	CASE expression			YES	
 F261	CASE expression	01	Simple CASE	YES	
 F261	CASE expression	02	Searched CASE	YES	
 F261	CASE expression	03	NULLIF	YES	
 F261	CASE expression	04	COALESCE	YES	
+F262	Extended CASE expression			NO	
+F263	Comma-separated predicates in simple CASE expression			NO	
 F271	Compound character literals			YES	
 F281	LIKE enhancements			YES	
 F291	UNIQUE predicate			NO	
@@ -199,6 +221,7 @@ F311	Schema definition statement	02	CREATE TABLE for persistent base tables	YES
 F311	Schema definition statement	03	CREATE VIEW	YES	
 F311	Schema definition statement	04	CREATE VIEW: WITH CHECK OPTION	NO	
 F311	Schema definition statement	05	GRANT statement	YES	
+F312	MERGE statement			NO	
 F321	User authorization			YES	
 F341	Usage tables			NO	
 F361	Subprogram support			YES	
@@ -207,12 +230,14 @@ F381	Extended schema manipulation	01	ALTER TABLE statement: ALTER COLUMN clause
 F381	Extended schema manipulation	02	ALTER TABLE statement: ADD CONSTRAINT clause	YES	
 F381	Extended schema manipulation	03	ALTER TABLE statement: DROP CONSTRAINT clause	YES	
 F391	Long identifiers			YES	
+F392	Unicode escapes in identifiers			NO	
+F393	Unicode escapes in literals			NO	
 F401	Extended joined table			YES	
 F401	Extended joined table	01	NATURAL JOIN	YES	
 F401	Extended joined table	02	FULL OUTER JOIN	YES	
-F401	Extended joined table	03	UNION JOIN	YES	
 F401	Extended joined table	04	CROSS JOIN	YES	
-F411	Time zone specification			YES	
+F402	Named column joins for LOBs, arrays, and multisets			NO	
+F411	Time zone specification			YES	differences regarding literal interpretation
 F421	National character			YES	
 F431	Read-only scrollable cursors			YES	
 F431	Read-only scrollable cursors	01	FETCH with explicit NEXT	YES	
@@ -222,6 +247,7 @@ F431	Read-only scrollable cursors	04	FETCH PRIOR	YES
 F431	Read-only scrollable cursors	05	FETCH ABSOLUTE	YES	
 F431	Read-only scrollable cursors	06	FETCH RELATIVE	YES	
 F441	Extended set function support			YES	
+F442	Mixed column references in set functions			NO	
 F451	Character set definition			NO	
 F461	Named character sets			NO	
 F471	Scalar subquery values			YES	
@@ -235,7 +261,6 @@ F502	Enhanced documentation tables			YES
 F502	Enhanced documentation tables	01	SQL_SIZING_PROFILES view	YES	
 F502	Enhanced documentation tables	02	SQL_IMPLEMENTATION_INFO view	YES	
 F502	Enhanced documentation tables	03	SQL_PACKAGES view	YES	
-F511	BIT data type			YES	
 F521	Assertions			NO	
 F531	Temporary tables			YES	
 F555	Enhanced seconds precision			YES	
@@ -247,7 +272,12 @@ F641	Row and table constructors			NO
 F651	Catalog name qualifiers			YES	
 F661	Simple tables			NO	
 F671	Subqueries in CHECK			NO	intentionally omitted
+F672	Retrospective check constraints			YES	
 F691	Collation and translation			NO	
+F692	Enhanced collation support			NO	
+F693	SQL-session and client module collations			NO	
+F695	Translation support			NO	
+F696	Additional translation documentation			NO	
 F701	Referential update actions			YES	
 F711	ALTER domain			YES	
 F721	Deferrable constraints			NO	foreign keys only
@@ -261,7 +291,7 @@ F791	Insensitive cursors			YES
 F801	Full set function			YES	
 F811	Extended flagging			NO	
 F812	Basic flagging			NO	
-F813	Extended flagging for "Core SQL Flagging" and "Catalog Lookup" only			NO	
+F813	Extended flagging			NO	
 F821	Local table references			NO	
 F831	Full cursor update			NO	
 F831	Full cursor update	01	Updatable scrollable cursors	NO	
@@ -270,6 +300,10 @@ S011	Distinct data types			NO
 S011	Distinct data types	01	USER_DEFINED_TYPES view	NO	
 S023	Basic structured types			NO	
 S024	Enhanced structured types			NO	
+S025	Final structured types			NO	
+S026	Self-referencing structured types			NO	
+S027	Create method by specific method name			NO	
+S028	Permutable UDT options list			NO	
 S041	Basic reference types			NO	
 S043	Enhanced reference types			NO	
 S051	Create table of type			NO	
@@ -281,18 +315,31 @@ S091	Basic array support	02	Arrays of distinct types	NO
 S091	Basic array support	03	Array expressions	NO	
 S092	Arrays of user-defined types			NO	
 S094	Arrays of reference types			NO	
+S095	Array constructors by query			NO	
+S096	Optional array bounds			NO	
+S097	Array element assignment			NO	
 S111	ONLY in query expressions			YES	
 S151	Type predicate			NO	
 S161	Subtype treatment			NO	
-S201	SQL routines on arrays			NO	
-S201	SQL routines on arrays	01	Array parameters	NO	
-S201	SQL routines on arrays	02	Array as result type of functions	NO	
+S162	Subtype treatment for references			NO	
+S201	SQL-invoked routines on arrays			NO	
+S201	SQL-invoked routines on arrays	01	Array parameters	NO	
+S201	SQL-invoked routines on arrays	02	Array as result type of functions	NO	
+S202	SQL-invoked routines on multisets			NO	
 S211	User-defined cast functions			YES	
 S231	Structured type locators			NO	
 S232	Array locators			NO	
+S233	Multiset locators			NO	
 S241	Transform functions			NO	
+S242	Alter transform statement			NO	
 S251	User-defined orderings			NO	
 S261	Specific type method			NO	
+S271	Basic multiset support			NO	
+S272	Multisets of user-defined types			NO	
+S274	Multisets of reference types			NO	
+S275	Advanced multiset support			NO	
+S281	Nested collection types			NO	
+S291	Unique constraint on entire row			NO	
 T011	Timestamp in Information Schema			NO	
 T031	BOOLEAN data type			YES	
 T041	Basic LOB data type support			NO	
@@ -303,12 +350,24 @@ T041	Basic LOB data type support	04	Concatenation of LOB data types	NO
 T041	Basic LOB data type support	05	LOB locator: non-holdable	NO	
 T042	Extended LOB data type support			NO	
 T051	Row types			NO	
+T052	MAX and MIN for row types			NO	
+T053	Explicit aliases for all-fields reference			NO	
+T061	UCS support			NO	
+T071	BIGINT data type			YES	
 T111	Updatable joins, unions, and columns			NO	
 T121	WITH (excluding RECURSIVE) in query expression			NO	
+T122	WITH (excluding RECURSIVE) in subquery			NO	
 T131	Recursive query			NO	
+T132	Recursive query in subquery			NO	
 T141	SIMILAR predicate			YES	
 T151	DISTINCT predicate			YES	
+T152	DISTINCT predicate with negation			NO	
 T171	LIKE clause in table definition			YES	
+T172	AS subquery clause in table definition			NO	
+T173	Extended LIKE clause in table definition			NO	
+T174	Identity columns			NO	
+T175	Generated columns			NO	
+T176	Sequence generator support			NO	
 T191	Referential action RESTRICT			YES	
 T201	Comparable data types for referential constraints			YES	
 T211	Basic trigger capability			NO	
@@ -319,15 +378,16 @@ T211	Basic trigger capability	04	FOR EACH ROW triggers	YES
 T211	Basic trigger capability	05	Ability to specify a search condition that must be true before the trigger is invoked	NO	
 T211	Basic trigger capability	06	Support for run-time rules for the interaction of triggers and constraints	NO	
 T211	Basic trigger capability	07	TRIGGER privilege	YES	
-T211	Basic trigger capability	08	Multiple triggers for the same event are executed in the order in which they were created	NO	intentionally omitted
+T211	Basic trigger capability	08	Multiple triggers for the same event are executed in the order in which they were created in the catalog	NO	intentionally omitted
 T212	Enhanced trigger capability			YES	
-T231	SENSITIVE cursors			YES	
+T231	Sensitive cursors			YES	
 T241	START TRANSACTION statement			YES	
 T251	SET TRANSACTION statement: LOCAL option			NO	
 T261	Chained transactions			NO	
 T271	Savepoints			YES	
+T272	Enhanced savepoint management			NO	
 T281	SELECT privilege with column granularity			NO	
-T301	Functional Dependencies			NO	
+T301	Functional dependencies			NO	
 T312	OVERLAY function			YES	
 T321	Basic SQL-invoked routines			NO	
 T321	Basic SQL-invoked routines	01	User-defined functions with no overloading	YES	
@@ -339,12 +399,18 @@ T321	Basic SQL-invoked routines	06	ROUTINES view	YES
 T321	Basic SQL-invoked routines	07	PARAMETERS view	YES	
 T322	Overloading of SQL-invoked functions and procedures			YES	
 T323	Explicit security for external routines			YES	
+T324	Explicit security for SQL routines			NO	
+T325	Qualified SQL parameter references			NO	
+T326	Table functions			NO	
 T331	Basic roles			NO	
 T332	Extended roles			NO	
 T351	Bracketed SQL comments (/*...*/ comments)			YES	
 T401	INSERT into a cursor			NO	
 T411	UPDATE statement: SET ROW option			NO	
-T431	CUBE and ROLLUP operations			NO	
+T431	Extended grouping capabilities			NO	
+T432	Nested and concatenated GROUPING SETS			NO	
+T433	Multiargument GROUPING function			NO	
+T434	GROUP BY DISINCT			NO	
 T441	ABS and MOD functions			YES	
 T461	Symmetric BETWEEN predicate			NO	
 T471	Result sets return value			NO	
@@ -355,6 +421,18 @@ T541	Updatable table references			NO
 T551	Optional key words for default syntax			YES	
 T561	Holdable locators			NO	
 T571	Array-returning external SQL-invoked functions			NO	
+T572	Multiset-returning external SQL-invoked functions			NO	
 T581	Regular expression substring function			YES	
 T591	UNIQUE constraints of possibly null columns			YES	
 T601	Local cursor references			NO	
+T611	Elementary OLAP operations			NO	
+T612	Advanced OLAP operations			NO	
+T613	Sampling			NO	
+T621	Enhanced numeric functions			NO	
+T631	IN predicate with one list element			NO	
+T641	Multiple column assignment			NO	
+T651	SQL-schema statements in SQL routines			NO	
+T652	SQL-dynamic statements in SQL routines			NO	
+T653	SQL-schema statements in external routines			NO	
+T654	SQL-dynamic statements in external routines			NO	
+T655	Cyclically dependent routines			NO